Unions of slices are not slices

Many approaches to slicing rely upon the 'fact' that the union of two static slices is a valid slice. It is known that static slices constructed using program dependence graph algorithms are valid slices (Reps and Yang, 1988). However, this is not true for other forms of slicing. For example, it has been established that the union of two dynamic slices is not necessarily a valid dynamic slice (Hall, 1995). In this paper this result is extended to show that the union of two static slices is not necessarily a valid slice, based on Weiser's definition of a (static) slice. We also analyse the properties that make the union of different forms of slices a valid slice.

[1]  Mark Harman,et al.  Equivalence of conservative, free, linear program schemas is decidable , 2003, Theor. Comput. Sci..

[2]  Aniello Cimitile,et al.  Conditioned program slicing , 1998, Inf. Softw. Technol..

[3]  Mark David Weiser,et al.  Program slices: formal, psychological, and practical investigations of an automatic program abstraction method , 1979 .

[4]  Keith Brian Gallagher,et al.  Using Program Slicing in Software Maintenance , 1991, IEEE Trans. Software Eng..

[5]  G. A. Venkatesh,et al.  The semantic approach to program slicing , 1991, PLDI '91.

[6]  Daniel Jackson,et al.  A new model of program dependences for reverse engineering , 1994, SIGSOFT '94.

[7]  Wuu Yang,et al.  The Semantics of Program Slicing , 1988 .

[8]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1988, SIGP.

[9]  Lori A. Clarke,et al.  A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance , 1990, IEEE Trans. Software Eng..

[10]  Sumit Kumar,et al.  Better Slicing of Programs with Jumps and Switches , 2002, FASE.

[11]  G. Canfora,et al.  Slicing large programs to isolate reusable functions , 1994, Proceedings of Twentieth Euromicro Conference. System Architecture and Integration.

[12]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[13]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1984, TOPL.

[14]  James M. Bieman,et al.  Measuring Functional Cohesion , 1994, IEEE Trans. Software Eng..

[15]  FerranteJeanne,et al.  The program dependence graph and its use in optimization , 1987 .

[16]  Mark Harman,et al.  Slice-based measurement of coupling , 1997 .

[17]  Thomas W. Reps,et al.  Integrating noninterfering versions of programs , 1989, TOPL.

[18]  Linda M. Ott,et al.  Slice based metrics for estimating cohesion , 1993, [1993] Proceedings First International Software Metrics Symposium.

[19]  Janusz W. Laski,et al.  Dynamic Program Slicing , 1988, Inf. Process. Lett..

[20]  Mark Harman,et al.  A Parallel Algorithm for Static Program Slicing , 1995, Inf. Process. Lett..

[21]  Robert J. Hall Automatic extraction of executable program subsets by simultaneous dynamic program slicing , 2004, Automated Software Engineering.

[22]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[23]  Linda M. Ott,et al.  The Relationship Between Slices And Module Cohesion , 1989, 11th International Conference on Software Engineering.

[24]  Thomas W. Reps,et al.  Integrating non-intering versions of programs , 1988, POPL '88.