Visualizing program slices

Program slicing is an automatic technique for determining which code in a program is relevant to a particular computation. Slicing has been applied in many areas, including program understanding, debugging, and maintenance. However, little attention has been paid to suitable interfaces for exploring program slices. We present an interface for program slicing that allows slicing at the statement procedure, or file level, and provides fast visual feedback on slice structure, integral to the interface is a global visualization of the program that shows the extent of a slice as it crosses procedure and file boundaries, and facilitates quick browsing of numerous slices.<<ETX>>

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

[2]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.

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

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

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

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

[7]  Stephen G. Eick,et al.  Visualizing code profiling line oriented statistics , 1992, Proceedings Visualization '92.

[8]  Stephen G. Eick,et al.  Seesoft-A Tool For Visualizing Line Oriented Software Statistics , 1992, IEEE Trans. Software Eng..

[9]  James R. Larus,et al.  Optimally profiling and tracing programs , 1992, POPL '92.

[10]  James R. Larus,et al.  Efficient program tracing , 1993, Computer.

[11]  S.P. Reiss A framework for abstract 3D visualization , 1993, Proceedings 1993 IEEE Symposium on Visual Languages.

[12]  Thomas Reps The wisconsin program - integration system reference manual: Release 2 , 1993 .

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