Theoretical foundations of dynamic program slicing

This paper presents a theory of dynamic slicing, which reveals that the relationship between static and dynamic slicing is more subtle than previously thought. The definitions of dynamic slicing are formulated in terms of the projection theory of slicing. This shows that existing forms of dynamic slicing contain three orthogonal dimensions in their slicing criteria and allows for a lattice-theoretic study of the subsumption relationship between these dimensions and their relationship to static slicing formulations.

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

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

[3]  Roberto Giacobazzi,et al.  Non-Standard Semantics for Program Slicing , 2003, High. Order Symb. Comput..

[4]  Mark Harman,et al.  Slicing programs in the presence of errors , 1996, Formal Aspects of Computing.

[5]  David W. Binkley,et al.  The application of program slicing to regression testing , 1998, Inf. Softw. Technol..

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

[7]  Mark Harman,et al.  A survey of empirical results on program slicing , 2004, Adv. Comput..

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

[9]  Keith Gallagher,et al.  Evaluating the Surgeon's Assistant: results of a pilot study , 1992, Proceedings Conference on Software Maintenance 1992.

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

[11]  Bogdan Korel,et al.  Dynamic program slicing in understanding of program execution , 1997, Proceedings Fifth International Workshop on Program Comprehension. IWPC'97.

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

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

[14]  Thomas W. Reps,et al.  Program analysis via graph reachability , 1997, Inf. Softw. Technol..

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

[16]  J. van Leeuwen,et al.  Theoretical Computer Science , 2003, Lecture Notes in Computer Science.

[17]  Joseph Robert Horgan,et al.  Dynamic program slicing , 1990, PLDI '90.

[18]  Mark Harman,et al.  Formalizing executable dynamic and forward slicing , 2004, Source Code Analysis and Manipulation, Fourth IEEE International Workshop on.

[19]  Andrea De Lucia,et al.  Understanding function behaviors through program slicing , 1996, WPC '96. 4th Workshop on Program Comprehension.

[20]  Mark Harman,et al.  An overview of program slicing , 2001, Softw. Focus.

[21]  Robert W. Floyd,et al.  Notes on Avoiding "go to" Statements , 1971, Information Processing Letters.

[22]  A. Beszedes,et al.  Dynamic slicing method for maintenance of large C programs , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[23]  Aniello Cimitile,et al.  Software salvaging based on conditions , 1994, Proceedings 1994 International Conference on Software Maintenance.

[24]  Mark Harman,et al.  Using program slicing to simplify testing , 1995, Softw. Test. Verification Reliab..

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

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

[27]  Rajiv Gupta,et al.  An approach to regression testing using slicing , 1992, Proceedings Conference on Software Maintenance 1992.

[28]  Mark Harman,et al.  ConSUS: a light-weight program conditioner , 2005, J. Syst. Softw..

[29]  Mariam Kamkar,et al.  Interprocedural dynamic slicing with applications to debugging and testing , 1993, Linköping studies in science and technology dissertations.

[30]  Matthias Felleisen,et al.  The semantics of program dependence , 1989, PLDI '89.

[31]  Mark Harman,et al.  Pre/post conditioned slicing , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

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

[33]  Lyle Ramshaw,et al.  Eliminating go to's while preserving program structure , 1988, JACM.

[34]  Aniello Cimitile,et al.  RE2: Reverse-engineering and reuse re-engineering , 1994, J. Softw. Maintenance Res. Pract..

[35]  Aniello Cimitile,et al.  A Specification Driven Slicing Process for Identifying Reusable Functions , 1996, J. Softw. Maintenance Res. Pract..

[36]  Mark Harman,et al.  Using program slicing to assist in the detection of equivalent mutants , 1999, Softw. Test. Verification Reliab..

[37]  Mark Harman,et al.  Conditioned slicing supports partition testing , 2002, Softw. Test. Verification Reliab..

[38]  David Eichmann,et al.  Program and interface slicing for reverse engineering , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

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

[40]  Bogdan Korel,et al.  Dynamic program slicing methods , 1998, Inf. Softw. Technol..

[41]  David W. Binkley,et al.  Program integration for languages with procedure calls , 1995, TSEM.

[42]  Mark Weiser,et al.  Programmers use slices when debugging , 1982, CACM.

[43]  Karl J. Ottenstein,et al.  The program dependence graph in a software development environment , 1984, SDE 1.

[44]  A. De Lucia Program slicing: methods and applications , 2001, Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation.

[45]  Mark Weiser,et al.  Experiments on slicing-based debugging aids , 1986 .

[46]  Arun Lakhotia Rule-based approach to computing module cohesion , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[47]  David W. Binkley,et al.  Precise executable interprocedural slices , 1993, LOPL.

[48]  Peter Fritzson,et al.  Interprocedural Dynamic Slicing , 1992, PLILP.

[49]  Mark Harman,et al.  ConSUS: A lightweight program conditioner , 2005 .

[50]  Lulu Liu,et al.  RECOUP—maintaining Fortran , 1993, FORF.

[51]  Aniello Cimitile,et al.  Identifying reusable functions using specification driven program slicing: a case study , 1995, Proceedings of International Conference on Software Maintenance.

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

[53]  Mark Harman,et al.  Amorphous program slicing , 2003, J. Syst. Softw..

[54]  Mark Harman,et al.  Testability transformation , 2004, IEEE Transactions on Software Engineering.

[55]  Eugene H. Spafford,et al.  Debugging with dynamic slicing and backtracking , 1993, Softw. Pract. Exp..

[56]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1990, TOPL.

[57]  Mark Harman,et al.  CONSIT: a fully automated conditioned program slicer , 2004, Softw. Pract. Exp..