Skip to main content

An Efficient Relevant Slicing Method for Debugging

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1687))

Abstract

Dynamic program slicing methods are widely used for debugging, because many statements can be ignored in the process of localizing a bug. A dynamic program slice with respect to a variable contains only those statements that actually had an influence on this variable. How- ever, during debugging we also need to identify those statements that actually did not affect the variable but could have affected it had they been evaluated differently. A relevant slice includes these potentially af- fecting statements as well, therefore it is appropriate for debugging. In this paper a forward algorithm is introduced for the computation of relevant slices of programs. The space requirement of this method does not depend on the number of different dynamic slices nor on the size of the execution history, hence it can be applied for real size applications.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agrawal, H., DeMillo, R. A., and Spafford, E. H. Dynamic slicing in the presence of unconstrained pointers. In Proceedings of the ACM Fourth Symposium on Testing, Analysis, and Verification (TAV4) (1991), pp. 60–73.

    Google Scholar 

  2. Agrawal, H., DeMillo, R. A., and Spafford, E. H. Debugging with dynamic slicing and backtracking. Software — Practive And Experience, 23(6):589–616, June 1993.

    Article  Google Scholar 

  3. Agrawal, H., and Horgan, J. Dynamic program slicing. SIGPLAN Notices, No. 6, 1990, pp. 246–256.

    Google Scholar 

  4. Agrawal, H., Horgan, J. R., Krauser, E. W., and London, S. A. Incremental Regression Testing. Proceedings of the IEEE Conference on Software Maintenance, Montreal, Canada,1993.

    Google Scholar 

  5. Beck, J., and Eichmann, D. Program and Interface Slicing for Reverse Engineering. In Proc. 15th Int. Conference on Software Engineering, Baltimore, Maryland, 1993. IEEE Computer Society Press, 1993, 509–518.

    Google Scholar 

  6. Forgács, I. An exact array reference analysis for data flow testing. In Proc. of the 18th Int. Conference on Software Engineering, Berlin 1996, 565–574.

    Google Scholar 

  7. Fritzson, P., Shahmehri, N., Kamkar, M., and Gyimóthy, T. Generalized algorithmic debugging and testing. ACM Letters on Programming Languages and Systems 1, 4 (1992), 303–322.

    Article  Google Scholar 

  8. Gallagher, K. B., and Lyle, J. R. Using Program Slicing in Software Maintenance. IEEE Transactions on Software Engineering 17, 8, 1991, 751–761.

    Article  Google Scholar 

  9. Horwitz, S., Reps, T., and Binkley, D. Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems 12, 1 (1990), 26–61.

    Article  Google Scholar 

  10. Kamkar, M. An Overview and Comparative Classiffication of Program Slicing Techniques. J.Systems Software 31:197–214,1995.

    Article  Google Scholar 

  11. Kamkar, M. Interprocedural Dynamic Slicing with Applications to Debugging and Testing, Ph. D. Thesis, Linkoping University, 1993.

    Google Scholar 

  12. Korel, B., and Laski, J. Dynamic slicing in computer programs. The Journal of Systems and Software vol. 13, No. 3, 1990, pp. 187–195.

    Article  Google Scholar 

  13. Korel, B., and Rilling, J. Application of dynamic slicing in program debugging. In Proceedings of the Third International Workshop on Automatic Debugging (AADEBUG’97), Linkoping, Sweden, May 1997.

    Google Scholar 

  14. Korel, B., and Yalamanchili, S. Forward computation of dynamic program slices. In Proceedings of the 1994 International Symposium on Software Testing and Analysis (ISSTA), Seattle, Washington, August 1994.

    Google Scholar 

  15. Landi, W., and Ryder, B. A safe approximate algorithm for interprocedural pointer aliasing. In Proceedings of the 1992 ACM Conference on Programming Language Design and Implementation San Francisco, 1992), pp. 235–248. SIGPLAN Notices 27(7).

    Article  Google Scholar 

  16. Ottenstein, K., and Ottenstein, L. The program dependence graph in a software development environment. In Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments (1984), pp. 177–184. SIGPLAN Notices 19(5).

    Article  Google Scholar 

  17. Rothermer, G., and Harrold, M. J. Selecting tests and identifying test coverage requirements for modiffied software. In Proc. ISSTA’94 Seattle. 1994, 169–183

    Google Scholar 

  18. Tip, F. A survey of program slicing techniques. Journal of Programming Languages, 3(3):121–189, September 1995.

    Google Scholar 

  19. Weiser M. Program Slicing. IEEE Transactions on Software Engineering SE-10, 4, 1984, 352–357.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gyimóthy, T., Beszédes, Á., Forgács, I. (1999). An Efficient Relevant Slicing Method for Debugging. In: Nierstrasz, O., Lemoine, M. (eds) Software Engineering — ESEC/FSE ’99. ESEC SIGSOFT FSE 1999 1999. Lecture Notes in Computer Science, vol 1687. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48166-4_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-48166-4_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66538-0

  • Online ISBN: 978-3-540-48166-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics