Skip to main content

Identifying faulty modifications in software maintenance

  • Software Maintenance and Debugging of Logic Programs III
  • Conference paper
  • First Online:

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

Abstract

Software maintenance involves making changes to a program to correct errors, to improve efficiency, or to extend the program functionality. The existing algorithmic debuggers generally only take into account the modified software, i.e., they do not take into account the original software and modifications being made. However, in software maintenance the original software has been tested and analyzed previously. In software maintenance the goal of debugging is to identify those modifications that cause incorrect program behavior, rather than to identify faulty statements. In this paper we present an approach that uses the information about the original software and determines those modifications that more likely contain fault. In this approach, the modifications that are made to the program are first identified. Then, forward dynamic dependence analysis is used to determine the most suspicious modifications.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. H. Agrawal, R. DeMillo, E. Spafford, “An execution-backtracking approach to debugging,” IEEE Software, May 1991, pp. 21–26.

    Google Scholar 

  2. 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 Scholar 

  3. P. Fritzson, T. Gyimothy, M. Kamkar, N. Shahmehri, “Generalized algorithmic debugging and testing,” Conference on Programming Lang., Design, and Implement., June 1991, Toronto, pp. 317–326.

    Google Scholar 

  4. J. D. Gould, “Some psychological evidence on how people debug computer program,” Int. Journal Man-Machine Studies, vol.7, No.2, March 1975, pp. 151–182.

    Google Scholar 

  5. B. Korel, “PELAS — Program Error Locating Assistant System,” IEEE Trans. on Software Engineering, vol. SE-14, No. 9, September 1988, pp. 1253–1260.

    Google Scholar 

  6. B. Korel, J. Laski, “Dynamic program slicing,” Information Processing Letters, vol. 29, No. 3, October 1988, pp. 155–163.

    Google Scholar 

  7. B. Korel, J. Laski, “Dynamic Slicing in Computer Programs,” The Journal of Systems and Software, vol. 13, No. 3, November 1990, pp. 187–195.

    Google Scholar 

  8. B. Korel, J. Laski, “Algorithmic software fault localization,” 24-th Hawaii International Conference on System Sciences, January 1991, vol. II, pp. 246–252.

    Google Scholar 

  9. F. J. Lukey, “Understanding and debugging programs,” Internat. Journal on Man-Machines Studies, vol. 12, February 1990, pp. 189–202.

    Google Scholar 

  10. J. Lyle, M. Weiser, “Automatic program bug location by program slicing,” 2-nd IEEE Symposium on Computers and Applications, Beijing, China, June 1987, pp. 877–883.

    Google Scholar 

  11. G. J. Myers, The art of software testing, New York: Wiley-Interscience, 1979.

    Google Scholar 

  12. S. Renner, “Location of logical errors on Pascal programs,” Technical Report UILU-ENG 82 1710, University of Illinois at Urbana-Champaign, Urbana, IL, 1982.

    Google Scholar 

  13. N. Schneidewind, “The state of software maintenance,” IEEE Tran. on Software Engineering, vol. SE-13, No. 3, 1987, pp. 303–310.

    Google Scholar 

  14. E. Shapiro, “Algorithmic program debugging,” Ph.D. Thesis, Department of Computer Science, Yale University, 1982.

    Google Scholar 

  15. N. Shahmehri, M. Kamkar, P. Fritzson, “Semi-automatic bug localization in software maintenance,” Proc. Conference on Software Maintenance, San Diego, Nov. 1990.

    Google Scholar 

  16. M. Weiser, “Program slicing,” IEEE Trans. on Software Engineering, vol. SE-10, No. 4, July 1982, pp. 352–357.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Peter A. Fritzson

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Korel, B. (1993). Identifying faulty modifications in software maintenance. In: Fritzson, P.A. (eds) Automated and Algorithmic Debugging. AADEBUG 1993. Lecture Notes in Computer Science, vol 749. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0019417

Download citation

  • DOI: https://doi.org/10.1007/BFb0019417

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-48141-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics