On Slicing of Programs with Input Statements
This paper studies program slicing in the presence of input statements. If unnecessary input statements are sliced away, the remaining input statements are assumed to read the same data as within the entire program. For specifying the relation of one program being a slice of another under this assumption, one needs a formalism for treating “stages of computation”. This paper presents an approach where stages of computation, called run points, are encoded by rational numbers. Run points of the slice and the corresponding run points of the whole program are encoded by equal numbers. We adapt a program analysis used by a classic slicing algorithm to our setting, in order to prove correctness of the slicing algorithm.
Unable to display preview. Download preview PDF.
- 3.Collard, J.-F.: Reasoning about Program Transformations. Springer (2003)Google Scholar
- 9.Nestra, H.: Transfinite semantics in program slicing. Proceedings of the Estonian Academy of Sciences: Engineering 11(4), 313–328 (2005)Google Scholar
- 11.Nestra, H.: Iteratively Defined Transfinite Trace Semantics and Program Slicing with respect to Them. PhD thesis, University of Tartu, 119 p. (2006)Google Scholar
- 14.Reps, T., Yang, W.: The semantics of program slicing and program integration. In: Díaz, J., Orejas, F. (eds.) TAPSOFT 1989. LNCS, vol. 352, pp. 360–374. Springer, Heidelberg (1989)Google Scholar
- 15.Sivagurunathan, Y., Harman, M., Danicic, S.: Slicing, I/O and the implicit state. In: Kamkar, M. (ed.) 3rd International Workshop on Automated Debugging. Linköping Electronic Articles in Computer and Information Science, vol. 2, pp. 59–67 (1997)Google Scholar
- 16.Tip, F.: A survey of program slicing techniques. Journal of Programming Languages 3(3), 121–181 (1995)Google Scholar
- 19.Weiser, M.: Program slicing. In: ICSE 1981 Proceedings of the 5th International Conference on Software Engineering, pp. 439–449 (1981)Google Scholar