Abstract
Much of the current discussion around automated debugging systems is centered around various technical issues. In contrast, this paper focuses on user oriented usability criteria for automated debugging systems, and reviews several systems according to these criteria. We introduce four usability criteria: generality, cognitive plausibility, degree of automation and appreciation of the user's expertise. A debugging system which is general is able to understand a program without restrictive assumptions about the class of algorithms, the implementation, etc. A cognitively plausible debugging system supports debugging according to the user's mental model, e.g. by supporting several levels of abstraction and directions of bug localization. A high degree of automation means that fewer interactions with the user are required to find a bug. A debugging system that appreciates the user's expertise is suitable for both expert and novice programmers, and has the ability to take advantage of the additional knowledge of an expert programmer to speed up and improve the debugging process. Existing automated debugging systems fulfill these user-oriented requirements to a varying degree. However, many improvements are still needed to make automated debugging systems attractive to a broad range of users.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Preview
Unable to display preview. Download preview PDF.
References
Anne Adam and Jean-Pierre Laurent. Laura, A System to Debug Student Programs. Artificial Intelligence, 15(1):75–122, November 1980.
Mireille Ducassé and Anna-Maria Emde. A Review of Automated Debugging Systems: Knowledge, Strategies, and Techniques. In Proc. of the 10:th International Conference on Software Engineering, 1988. IEEE Press.
Mireille Ducassé. Abstract views of Prolog executions in Opium. In Proc. of the International Logic Programming Symposium, San Diego, Oct. 1991, pp 18–32. ed V. Saraswat and K. Ueda, MIT Press.
Mireille Ducassé. A Pragmatic Survey of Automated Debugging. In Proc. of AADEBUG'93 — 1:st International Workshop on Automated and Algorithmic Debugging, Linköping University, Linköping, Sweden, May 1993.
Wlodek Drabent, Simin Nadjm-Tehrani, and Jan Maluszynski. The Use of Assertions in Algorithmic Debugging. In Proceedings of the FGCS Conference, pages 573–581, Tokyo, Japan, 1988.
Peter Fritzson, Tibor Gyimothy, Mariam Kamkar, and Nahid Shahmehri. Generalized Algorithmic Debugging and Testing. In Proceedings of the ACM SIGPLAN'91, pages 317–326, Toronto, Ontario, Canada, June 1991. Also accepted to LOPLAS, and as report LiTH-IDA-R-90-42.
Peter Fritzson. Symbolic Debugging Through Incremental Compilation in an Integrated Environment. The Journal of Systems and Software, 3:285–294, 1983.
Peter Fritzson, Mikhail Auguston, Nahid Shahmehri: Using Assertions in Declarative and Operational Models for Automated Debugging, Accepted (1992) for publication in the Journal of Systems and Software.
William E. Howden. Weak Mutation Testing and Completeness of Test Sets. IEEE Transactions on Software Engineering, SE-8(4):371–379, 1982.
W. Lewis Johnsson and Elliot Soloway. Proust Knowledge-Based Program Understanding. IEEE Transactions on Software Engineering, 11(3):267–275, March 1985. Also reprinted in C. Rich and R. C. Waters editors, Readings in Artificial Intelligence and Software Engineering, Morgan Kaufman, 1986.
Mariam Kamkar. Interprocedural Dynamic Slicing with Applicationsto Debugging and Testing. Ph.D. Thesis No. 297, Department of Computer Science, Linköping University, April 1993.
Bogdan Korel. Dependence-Based Modelling in the Automation of Error Localization in Computer Programs. PhD thesis, Oakland University, 1986.
Bogdan Korel. Pelas-Program Error-Locating Assistant System. IEEE Transactions on Software Engineering, 14(9):1253–1260, 1988.
Mariam Kamkar, Nahid Shahmehri, and Peter Fritzson. Bug Localization by Algorithmic Debugging and Program Slicing. In Proceedings of the International Conference on Programming Language Implementation and Logic Programming, PLILP'90, pp. 60–74, Linköping, Sweden, Aug. 1990. LNCS 456, Springer-Verlag.
Mariam Kamkar, Nahid Shahmehri and Peter Fritzson. Interprocedural Dynamic Slicing. In Proc. of PLILP'92, pp 370–384, Leuven, Belgium Aug 1992. LNCS 631. Earlier version as Tech. Report LiTH-IDA-R-91-20, June 1991.
Ron I. Kuper. Dependency-Directed Localization of Software Bugs. Technical report, Artificial Intelligence Laboratory, May 1989. AI-TR 1053.
F. J. Lukey. Understanding and Debugging Programs. International Journal on Man-Machine Studies, 12(2):189–202, February 1980.
James R. Lyle and Mark Weiser. Automatic Program Bug Location by Program Slicing. In The 2:nd IEEE Symposium on Computers and Applications, pages 877–883, Beijing(Peking), China, June 1987.
James R. Lyle. Evaluating Variations on Program Slicing for Debugging. PhD thesis, University of Maryland, December 1984.
Luis Moniz Pereira and Miguel Calejo. Algorithmic Debugging of Prolog Side-Effects. In Fourth Portuguese Conference on Artificial Intelligence. Springer-Verlag, 1989.
Luis Moniz Pereira. Rational Debugging in Logic Programming. In Third Logic Programming Conference, pages 203–210, London, England, July 1986.
G. R. Ruth. Intelligent Program Analysis. Artificial Intelligence, 1(7), 1976.
Rudolph E. Seviora. Knowledge-Based Program Debugging Systems. IEEE Software, 4(3):20–32, May 1987.
E. Y. Shapiro. Algorithmic Program Debugging. MIT Press, May 1982.
Nahid Shahmehri: Generalized Algorithmic Debugging. Ph.D. thesis, Linköping University, Dec 1991.
Mark Weiser. Programmers use Slices when Debugging. Communications of the ACM, 25(7):446–452, July 1982.
Mark Weiser. Program Slicing. IEEE Transactions on Software Engineering Se-10(4):352–357, July 1984.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Shahmehri, N., Kamkar, M., Fritzson, P. (1993). Usability criteria for automated debugging systems. 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/BFb0019398
Download citation
DOI: https://doi.org/10.1007/BFb0019398
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