Skip to main content

Usability criteria for automated debugging systems

  • Surveys and Tutorials
  • Conference paper
  • First Online:
Automated and Algorithmic Debugging (AADEBUG 1993)

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

Included in the following conference series:

  • 157 Accesses

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anne Adam and Jean-Pierre Laurent. Laura, A System to Debug Student Programs. Artificial Intelligence, 15(1):75–122, November 1980.

    Google Scholar 

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

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. Peter Fritzson. Symbolic Debugging Through Incremental Compilation in an Integrated Environment. The Journal of Systems and Software, 3:285–294, 1983.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. William E. Howden. Weak Mutation Testing and Completeness of Test Sets. IEEE Transactions on Software Engineering, SE-8(4):371–379, 1982.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. Mariam Kamkar. Interprocedural Dynamic Slicing with Applicationsto Debugging and Testing. Ph.D. Thesis No. 297, Department of Computer Science, Linköping University, April 1993.

    Google Scholar 

  12. Bogdan Korel. Dependence-Based Modelling in the Automation of Error Localization in Computer Programs. PhD thesis, Oakland University, 1986.

    Google Scholar 

  13. Bogdan Korel. Pelas-Program Error-Locating Assistant System. IEEE Transactions on Software Engineering, 14(9):1253–1260, 1988.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. Ron I. Kuper. Dependency-Directed Localization of Software Bugs. Technical report, Artificial Intelligence Laboratory, May 1989. AI-TR 1053.

    Google Scholar 

  17. F. J. Lukey. Understanding and Debugging Programs. International Journal on Man-Machine Studies, 12(2):189–202, February 1980.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. James R. Lyle. Evaluating Variations on Program Slicing for Debugging. PhD thesis, University of Maryland, December 1984.

    Google Scholar 

  20. Luis Moniz Pereira and Miguel Calejo. Algorithmic Debugging of Prolog Side-Effects. In Fourth Portuguese Conference on Artificial Intelligence. Springer-Verlag, 1989.

    Google Scholar 

  21. Luis Moniz Pereira. Rational Debugging in Logic Programming. In Third Logic Programming Conference, pages 203–210, London, England, July 1986.

    Google Scholar 

  22. G. R. Ruth. Intelligent Program Analysis. Artificial Intelligence, 1(7), 1976.

    Google Scholar 

  23. Rudolph E. Seviora. Knowledge-Based Program Debugging Systems. IEEE Software, 4(3):20–32, May 1987.

    Google Scholar 

  24. E. Y. Shapiro. Algorithmic Program Debugging. MIT Press, May 1982.

    Google Scholar 

  25. Nahid Shahmehri: Generalized Algorithmic Debugging. Ph.D. thesis, Linköping University, Dec 1991.

    Google Scholar 

  26. Mark Weiser. Programmers use Slices when Debugging. Communications of the ACM, 25(7):446–452, July 1982.

    Google Scholar 

  27. Mark Weiser. Program Slicing. IEEE Transactions on Software Engineering Se-10(4):352–357, July 1984.

    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

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

Publish with us

Policies and ethics