ABSTRACT
Slicing is an important decomposition technique for program understanding. However, traditional slicing methods tend to produce too large slices for human inspection as modern programs are often huge and static program analyses are hard to be precise enough. One possible solution to such problem could be combining other program decomposition techniques together with program slicing. With such inspiration, this paper proposes a scenario oriented program slicing method to slice programs under specified execution scenarios. The scenarios provide a clear and easy understanding functional decomposition for the system, while the new slicing method can help figure out how a computation is implemented in a given scenario by effectively reducing the amount of code that a user needs to inspect.
- G. Booch, J. Rumbaugh, and I. Jacobson. The unified modeling language user guide, Addison Wesley, 1999. Google ScholarDigital Library
- Z. Chen, B. Xu, W. Chu, H. Yang and J. Zhao. Slicing larger programs partially. In Proceedings of the International Conference on Software Engineering Research and Practice, 2003.Google Scholar
- G. Canfora, A. Cimitile, and A. De Lucia. Conditioned program slicing. Information and Software Technology Special Issue on Program Slicing, vol. 40, pp. 595--607, 1998.Google ScholarCross Ref
- J. M. Carroll. Scenario-based design: Envisioning work and technology in system development. Wiley, 1995. Google ScholarDigital Library
- A. Dunsmore, M. Roper, and M. Wood. The development and evaluation of three diverse techniques for object oriented code inspections. IEEE Transactions on Software Engineering, 29(8): 677--686, 2003. Google ScholarDigital Library
- J. Field, G. Ramalingam, and F. Tip. Parametric program slicing. In Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 379--392, 1995. Google ScholarDigital Library
- R. Gupta, M. L. Soffa, and J. Howard. Hybrid slicing: integrating dynamic information with static analysis. ACM Transactions on Software Engineering and Methodology, 6(4): 370--397, 1997. Google ScholarDigital Library
- S. Horwitz, T. Reps, and D. Binkley. Interprocedural slicing using dependency graphs. ACM Transaction on Programming Languages and Systems, 22(1): 26--60, 1990. Google ScholarDigital Library
- I. Jacobson. Object oriented software engineering: A use case driven approach. Addison Wesley, 1992. Google ScholarDigital Library
- B. Korel and J. Laski. Dynamic slicing of computer programs. The Journal of Systems and Software 13(3): 187--195, 1990. Google ScholarDigital Library
- J. Krinke. Barrier slicing and chopping. In Proceedings of 3rd IEEE International Workshop on Source Code Analysis and Manipulation, 2003.Google ScholarCross Ref
- A. Nishimatsu, M. Jihira, S. Kusumoto, and K. Inoue. Call-mark slicing: an efficient and economical way of reducing slice. In Proceedings of International Conference of Software Engineering, pp. 422--431, 1999. Google ScholarDigital Library
- T. Reps, S. Horwitz, and M. Sagiv. Precise interprocedural dataflow analysis via graph reachability. In Proceedings of ACM Symposium on Principles of Programming Languages, pp. 49--61, 1995. Google ScholarDigital Library
- F. Tip. A survey of program slicing techniques. Journal of Programming Languages, 3(3):121--189, 1995.Google Scholar
- B. Xu, Z. Chen and H. Yang. Dynamic slicing object-oriented programs for debugging. In 2nd IEEE International Workshop on Source Code Analysis and Manipulation, 2002. Google ScholarDigital Library
- B. Xu, J. Qian, X. Zhang, Z. Wu, and L. Chen. A brief survey of program slicing. ACM SIGSOFT Software Engineering Notes, 30(2):10--45, 2005. Google ScholarDigital Library
- Soot. http://www.sable.mcgill.ca/soot/Google Scholar
- AmaterasUML. http://amateras.sourceforge.jpGoogle Scholar
- Eclipse JDT. http://www.eclipse.org/jdt/Google Scholar
Index Terms
- Scenario oriented program slicing
Recommendations
A brief survey of program slicing
Program slicing is a technique to extract program parts with respect to some special computation. Since Weiser first proposed the notion of slicing in 1979, hundreds of papers have been presented in this area. Tens of variants of slicing have been ...
Program slicing under UML scenario models
Slicing is an important decomposition technique for program understanding. However, traditional slicing methods tend to produce too large slices for human inspection as modern programs are often huge and static program analyses are hard to be precise ...
Abstract Program Slicing: An Abstract Interpretation-Based Approach to Program Slicing
In the present article, we formally define the notion of abstract program slicing, a general form of program slicing where properties of data are considered instead of their exact value. This approach is applied to a language with numeric and reference ...
Comments