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.
Preview
Unable to display preview. Download preview PDF.
References
H. Agrawal, R. DeMillo, E. Spafford, “An execution-backtracking approach to debugging,” IEEE Software, May 1991, pp. 21–26.
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.
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.
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.
B. Korel, “PELAS — Program Error Locating Assistant System,” IEEE Trans. on Software Engineering, vol. SE-14, No. 9, September 1988, pp. 1253–1260.
B. Korel, J. Laski, “Dynamic program slicing,” Information Processing Letters, vol. 29, No. 3, October 1988, pp. 155–163.
B. Korel, J. Laski, “Dynamic Slicing in Computer Programs,” The Journal of Systems and Software, vol. 13, No. 3, November 1990, pp. 187–195.
B. Korel, J. Laski, “Algorithmic software fault localization,” 24-th Hawaii International Conference on System Sciences, January 1991, vol. II, pp. 246–252.
F. J. Lukey, “Understanding and debugging programs,” Internat. Journal on Man-Machines Studies, vol. 12, February 1990, pp. 189–202.
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.
G. J. Myers, The art of software testing, New York: Wiley-Interscience, 1979.
S. Renner, “Location of logical errors on Pascal programs,” Technical Report UILU-ENG 82 1710, University of Illinois at Urbana-Champaign, Urbana, IL, 1982.
N. Schneidewind, “The state of software maintenance,” IEEE Tran. on Software Engineering, vol. SE-13, No. 3, 1987, pp. 303–310.
E. Shapiro, “Algorithmic program debugging,” Ph.D. Thesis, Department of Computer Science, Yale University, 1982.
N. Shahmehri, M. Kamkar, P. Fritzson, “Semi-automatic bug localization in software maintenance,” Proc. Conference on Software Maintenance, San Diego, Nov. 1990.
M. Weiser, “Program slicing,” IEEE Trans. on Software Engineering, vol. SE-10, No. 4, July 1982, pp. 352–357.
Author information
Authors and Affiliations
Editor information
Rights 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