skip to main content
10.1145/186258.186514acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
Article
Free Access

Forward computation of dynamic program slices

Authors Info & Claims
Published:01 August 1994Publication History

ABSTRACT

A dynamic program slice is an executable part of the program whose behavior is identical, for the same program input, to that of the original program with respect to a variable(s) of interest at some execution position. It has been shown that dynamic slicing is useful for the purpose of debugging, testing and software maintenance. The existing methods of dynamic slice computation are based on “backward” analysis, i.e., after the execution trace of the program is first recorded, the dynamic slice algorithm traces backwards the execution trace to derive dynamic dependence relations that are then used to compute dynamic slices. For many programs, during their execution extremely high volume of information may be recorded that may prevent accurate dynamic slice computation. In this paper we present a novel approach of dynamic slice computation, referred to as forward approach of dynamic slice computation. In this method, dynamic slices are computed during program execution without major recording of the execution trace. The major advantage of the forward approach is that space complexity is bounded as opposed to the backward methods of slice computation.

References

  1. Agr90.H. Agrawal, J. Horgan, "Dynamic program slicing" SIGPLAN Notices, Vol. 25, No. 6, June 1990, pp. 246-256. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Agr93.H. Agrawal, R. DeMillo, E. Spafford, "Debugging with dynamic slicing and backtracking," Software Practice & Experience, vol. 23, No. 6, 1993, pp. 589-616. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bal69.R. Balzer, "Exdams: Extendible debugging and Monitoring system," Proc. Spring Joint Computer Conf., AFIPS Press, Reston, Va., 1969, pp. 567-580.Google ScholarGoogle Scholar
  4. Bal93.T. Ball, S. Horwitz, "Slicing programs with arbitrary control-flow," Proceedings of the 1-st International Workshop on Automated and Algorithmic Debugging, Linkoping, Sweden, 1993, pp. 228-243. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Che93.J. Cheng, "Slicing concurrent programs," Proceedings of the 1-st International Workshop on Automated and Algorithmic Debugging, Linkoping, Sweden, 1993, pp. 244-261. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Cho91.J. Choi, B. Miller, R. Netzer, "Techniques for debugging parallel programs with flow back analysis," ACM Tran. on Programming Languages and Systems, vol. 13, No. 4, October 1991, 491-530. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Due92.E. Duesterwald, R. Gupta, M. L. Sofia, "Distribute~ slicing and partial re-execution for distributed programs," Proc. 5th Workshop on Languages and Compilers for Parallel Computing, 1992, pp. 329-337. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Fer92.R. Ferguson, "Test Data Generation for Sequential and Distributed Programs," Ph.D. Thesis, Wayne State University, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Gal91.K. Gallagher, J. Lyle, "Using program slicing in software maintenance," IEEE Transactions on Software Engineering, vol. 17, No. 8, August 1991, pp. 751-761. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Gop91.R. Gopal, "Dynamic program slicing based on dependence relations," Proceedings of the Conference on Software Maintenance 1991, Sorrento, Italy, 1991, pp. 191-200.Google ScholarGoogle Scholar
  11. Gup92.R. Gupta, M. Harrold, M. Sofia, "An approach to regression testing using slicing," Conference on Software Maintenance, 1992, pp. 299-308.Google ScholarGoogle Scholar
  12. Hor90.S. Horwitz, T. Reps, D. Binkley, "interprocedural slicing using dependence graphs," Trans. on Programming Languages and Systems, vol. 12, No. 1, pp. 26-60, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kam93a.M. Kamkar, Interprocedural Dynamic Slicing with Applications to Debugging and Testing, Ph.D. Thesis, Linkoping University, 1993.Google ScholarGoogle Scholar
  14. Kam93b.M. Kamkar, P. Fritzson, N. Shahmehri, "Interprocedural dynamic slicing applied to interpmce3ural data flow testing," Conference on Software Maintenance, Montreal, 1993, pp. 386-395. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Kor87.B. Korel, "The program dependence graph in static program testing," Information Processing Letters, vol. 24, Jan. 1987, pp. 103-108 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Kor88a.B. Korel, "PELAS - Program Error Locating Assistant System," IEEE Trans. on Software Engineering, vol. SE-14, No. 9, September 1988, pp. 1253-1260. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Kor88b.B. Korel, J. Laski, "Dynamic program slicing," Information Processing Letters, vol. 29, No. 3, October 1988, pp. 155-163. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Kor90a.B. Korel, "Automated software test data generation," IEEE Trans. on Software Engineering, vol. SE-16, No. 8, 1990, pp. 870- 879. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Kor90b.B. Korel, J. Laski, "Dynamic slicing in computer programs," The Journal of Systems and Software, vol. 13, No. 3, 1990, pp. 187- 195. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Kor92.B. Korel, R. Ferguson, "Dynamic slicing of distributed programs," Applied Mathematics & Computer Science Journal, vol. 2, No. 2, 1992, pp. 199-215.Google ScholarGoogle Scholar
  21. Kor93.B. Korel, "Identifying faulty modifications in software maintenance," Proceedings of the l-st International Workshop on Automated and Algorithmic Debugging, Linkoping, Sweden, 1993, pp. 341-356. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Lyl86.J. Lyle, M. Weiser, ""Experiments on slicingbased debugging tools," ProceeMings of the First Conference on Empirical Studies of Programming, June 1986, pp. 187-197. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Sid91.K. Siddiqui, Experimental comparison of static and dynamic program slicing, Master Essay, Department of Computer Science, Wayne State University, 1991.Google ScholarGoogle Scholar
  24. Wei82.M. Weiser, "Programmers use slices when debugging," Comm. of ACM, vol. 25, No. 7, July 1982, pp. 446-452. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Wei84.M. Weiser, "Program slicing," IEEE Trans. on Software Engineering, vol. SE-10, No. 4, July 1982, pp. 352-357.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Whi92.L. White, H. Leung, "Regression testability," IEEE Micro, April 1992, pp. 81-85. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Forward computation of dynamic program slices

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in
                • Published in

                  cover image ACM Conferences
                  ISSTA '94: Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
                  August 1994
                  241 pages
                  ISBN:0897916832
                  DOI:10.1145/186258

                  Copyright © 1994 ACM

                  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: 1 August 1994

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • Article

                  Acceptance Rates

                  ISSTA '94 Paper Acceptance Rate16of69submissions,23%Overall Acceptance Rate58of213submissions,27%

                  Upcoming Conference

                  ISSTA '24

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader