Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Dynamic program slicing

Published: 01 June 1990 Publication History

Abstract

Program slices are useful in debugging, testing, maintenance, and understanding of programs. The conventional notion of a program slice, the static slice, is the set of all statements that might affect the value of a given variable occurrence. In this paper, we investigate the concept of the dynamic slice consisting of all statements that actually affect the value of a variable occurrence for a given program input. The sensitivity of dynamic slicing to particular program inputs makes it more useful in program debugging and testing than static slicing. Several approaches for computing dynamic slices are examined. The notion of a Dynamic Dependence Graph and its use in computing dynamic slices is discussed. The Dynamic Dependence Graph may be unbounded in length; therefore, we introduce the economical concept of a Reduced Dynamic Dependence Graph, which is proportional in size to the number of dynamic slices arising during the program execution.

References

[1]
Hiralal Agrawal and Joseph R. Horgan. Dynamic program slicing. Technical Report SERC-TR-56-P, Software Engineering Research Center, Purdue University, West Lafayette, Indiana, November 1989.
[2]
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986.
[3]
R.M. Balzer. Exdamswextendable debugging and monitoring system. In AFIPS Proceedings, Spring Joint Computer Conference, 1969, volume 34, pages 567-580.
[4]
Jeanne Ferrante, Karl J. Ottenstein, and Joe D. Warren. The program dependence graph and its uses in optimization. A CM Transactions on Programming Languages and Systems, 9(3):319-349, July 1987.
[5]
Susan Horwitz, Jan Prins, and Thomas Reps. Integrating noninterfering versions of programs. ACM Transactions on Programming Languages and Systems, :.1(3):345-387, July 1989.
[6]
Susan Horwitz, Thomas Reps, and David Binkeley. Interprocedural slicing using dependence graphs. In Proceedings of the A CM SIGPLAN'88 Conference on Programming Language Design and implementation, Atlanta, Georgia, June 1988. SIGPLAN Notices, 23(7):35-46, July 1988.
[7]
I). J. Kuck, R. It. Kuhn, B. Leasure, D. A. Padua, and M. Wolfe. Dependence graphs and compiler optimizations. In Confernce Record of the Eighth ACM Symposium on Principles o.f Programming Languages, Williamsburg, Virginia, January 1981. pages 207-218.
[8]
tJogdan Korel and Janusz Laski. Dynamic t,rogram slicing. Information Processing Letters, 29:155-163, October 1988.
[9]
tJarton P. Miller and Jong-Deok Choi. A mechanism for efficient debugging of parallel programs. In Proceedings of the ICM SIGPLAN'88 Conference on Programming Language Design and fmplerqentaiion, Atlanta, Georgia, june 1988. fi. IGPLAN Notices, 23(7):135-144, July 1988.
[10]
Karl J. Ottenstein and Linda M. Ottenstein. The program dependence fl:raph in a software development environraent. In Proceedings of the A CM SIG- OFT/SIGPLAN Symposium on Practical Software Development Environments, pittaburgh, Pennsilvania, April 1984. SIGPLAN Notices, 19(5):177-184, May 1984.
[11]
Mark Weiser. Programmers use slices when debugging. Communications of the ACM, 25(7):446-452, July 1982.
[12]
Mark Weiser. Program slicing. IEEE Transactions on Software Engineering, SE-10(4):352-357, July 1984.

Cited By

View all
  • (2025)Causal program dependence analysisScience of Computer Programming10.1016/j.scico.2024.103208240(103208)Online publication date: Feb-2025
  • (2024)Log-Based Fault Localization with Unsupervised Log SegmentationApplied Sciences10.3390/app1418842114:18(8421)Online publication date: 19-Sep-2024
  • (2024)A Segmentation-Based Optimal Seamline Generation Method for SAR Image MosaicApplied Sciences10.3390/app1409364214:9(3642)Online publication date: 25-Apr-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 1990
Published in SIGPLAN Volume 25, Issue 6

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)350
  • Downloads (Last 6 weeks)44
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2025)Causal program dependence analysisScience of Computer Programming10.1016/j.scico.2024.103208240(103208)Online publication date: Feb-2025
  • (2024)Log-Based Fault Localization with Unsupervised Log SegmentationApplied Sciences10.3390/app1418842114:18(8421)Online publication date: 19-Sep-2024
  • (2024)A Segmentation-Based Optimal Seamline Generation Method for SAR Image MosaicApplied Sciences10.3390/app1409364214:9(3642)Online publication date: 25-Apr-2024
  • (2024)Program Segment Testing for Human–Machine Pair ProgrammingInternational Journal of Software Engineering and Knowledge Engineering10.1142/S0218194024500281(1-27)Online publication date: 5-Jul-2024
  • (2024)WASMDYPA: Effectively Detecting WebAssembly Bugs via Dynamic Program Analysis2024 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER60148.2024.00037(296-307)Online publication date: 12-Mar-2024
  • (2024)The Study of Student Program Analysis and Feedback System2024 IEEE 48th Annual Computers, Software, and Applications Conference (COMPSAC)10.1109/COMPSAC61105.2024.00231(1546-1547)Online publication date: 2-Jul-2024
  • (2024)A deep semantics-aware data augmentation method for fault localizationInformation and Software Technology10.1016/j.infsof.2024.107409168(107409)Online publication date: Apr-2024
  • (2024)Enhancing security in e-business processes: Utilizing dynamic slicing of Colored Petri Nets for logical vulnerability detectionFuture Generation Computer Systems10.1016/j.future.2024.04.035158(210-218)Online publication date: Sep-2024
  • (2024)Code-aware fault localization with pre-training and interpretable machine learningExpert Systems with Applications10.1016/j.eswa.2023.121689238(121689)Online publication date: Mar-2024
  • (2024)Understanding and Detecting Inefficient Image Displaying Issues in Android AppsJournal of Computer Science and Technology10.1007/s11390-022-1670-339:2(434-459)Online publication date: 1-Mar-2024
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media