Skip to main content

Towards a plan calculus based intelligent debugging system

  • Knowledge-Based Debugging and Trace-Based Debugging
  • Conference paper
  • First Online:
  • 136 Accesses

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

Abstract

When debugging expert programmers seem to use a combination of techniques in order to arrive at an understanding of how a program works. In particular they use a process of programming “cliché” recognition, backed up by a process of general reasoning based on the semantics of the programming constructs used in the program. Other attempts to build knowledge-based debugging systems have used one or other of these techniques, but have not combined them. This paper presents the case for using both these techniques in an integrated way, and argues that the plan calculus is a knowledge representation technique that can facilitate this. An overview of work on an intelligent debugging system for Pascal (IDS) will then be presented.

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. Adam A., Laurent J. (1980) LAURA A System to Debug Student Programs Artificial Intelligence 15, pp. 75–122.

    Google Scholar 

  2. Ehrlich K., Soloway E. (1982) An Empirical Investigation of the Tacit Plan Knowledge in Programming. Research Rep. 236, Yale Univ. Dept. Comp. Sci.

    Google Scholar 

  3. Eisenstadt M., Laubsch J. (1981) Domain Specific Debugging Aids for Novice Programmers Proc. 7th Int. Joint Conf. on Artificial Intelligence (IJCAI-81). Vancouver BC, Canada.

    Google Scholar 

  4. Fritzson, P., Gyimothy, T., Kamkar, M., and Shahmehri, N. (1991). Generalised Algorithmic Debugging and Testing. Proc. ACM PLDI'91.

    Google Scholar 

  5. Green, C. (1969). Theorem Proving by Resolution as a Basis for Question-Answering Systems. Machine Intelligence 4, Michie, D. and Meltzer, B. (eds.) Edinburgh University Press.

    Google Scholar 

  6. Goldstein I.P. (1974) Understanding Simple Picture Programs PhD. Thesis MIT AI Lab. Technical Report 294.

    Google Scholar 

  7. Johnson, W.L. (1986) Intention-Based Diagnosis of Novice Programming Errors. Pitman(London).

    Google Scholar 

  8. Johnson, W.L., Soloway, E., Cutler, B., and Draper, S. (1983) Bug Catalogue I Technical Report YaleU/CSD/RR #286 Dept. Comp. Sci. Yale University.

    Google Scholar 

  9. Kamkar, M., Shahmehri, N., and Fritzson, P. (1992). Interprocedural Dynamic Slicing. Proc. PLILP'92, Leuven, Belgium. Lecture Notes in Computer Science 631, Springer-Verlag.

    Google Scholar 

  10. Kuper, R.I. (1989) Dependency-Directed Localization of Software Bugs. MIT AI Lab. Technical Report 1053.

    Google Scholar 

  11. Lukey F.J. (1978) Understanding and Debugging Simple Computer Programs PhD Thesis, University of Sussex.

    Google Scholar 

  12. Lutz, R.K. (1984) Towards an Intelligent Debugging System for Pascal Programs: A Research Proposal. Open University Human Cognition Research Laboratory Technical Report No. 8 April 1984.

    Google Scholar 

  13. Lutz, R.K. (1986) Diagram Parsing — A New Technique for Artificial Intelligence. CSRP-054, School of Cognitive and Computing Sciences, University of Sussex.

    Google Scholar 

  14. Lutz, R.K. (1989a) Chart Parsing of Flowgraphs. Proc. 11th Joint Int. Conf. on AI. Detroit, USA.

    Google Scholar 

  15. Lutz, R.K. (1989b) Debugging Pascal Programs Using a Flowgraph Chart Parser. Proc. 2nd Scandinavian conference on AI, Tampere, Finland.

    Google Scholar 

  16. Lutz, R.K. (1992a) Plan Diagrams as the Basis for Understanding and Debugging Pascal Programs. in Eisenstadt, M., Rajan, T., and Keane, M. (Eds.) Novice Programming Environments. London: Lawrence Erlbaum Associates.

    Google Scholar 

  17. Lutz, R.K. (1992b) Towards an Intelligent Debugging System for Pascal Programs: On the Theory and Algorithms of Plan Recognition in Rich's Plan Calculus. Ph.D. Thesis, The Open University, Milton Keynes, England.

    Google Scholar 

  18. Murray, W.R. (1986) Automatic Program Debugging for Intelligent Tutoring Systems. Doctoral Dissertation, Artificial Intelligence Laboratory, The University of Texas at Austin. June 1986.

    Google Scholar 

  19. Rich C. (1981) Inspection Methods in Programming MIT Artificial Intelligence Laboratory AI-TR-604.

    Google Scholar 

  20. Rich, C. (1985) The layered architecture of a system for reasoning about programs. Proceedings IJCAI-85, Los Angeles, CA. pp. 540–546.

    Google Scholar 

  21. Ruth G.R. (1973) Analysis of Algorithm Implementations PhD Thesis MIT.

    Google Scholar 

  22. Ruth, G.R. (1976) Intelligent Program Analysis Artificial Intelligence 7, pp. 65–85.

    Google Scholar 

  23. Sack, W. and Soloway, E. (1990) From PROUST to CHIRON: ITS Design as Iterative Engineering; Intermediate Results are Important! in Frasson, C. and Gauthier, G. (Eds.) Intellegent Tutoring Systems: At the Crossroads of Artificial Intelligence and Education, Ablex, Norwood, NJ.

    Google Scholar 

  24. Seviora, E. R. (1987) Knowledge-Based Program Debugging Systems. IEEE Software. 4(3): pp. 20–32.

    Google Scholar 

  25. Shapiro, D.G. (1978) Sniffer: A System that Understands Bugs. MIT Artificial Intelligence Laboratory. AI Memo 459.

    Google Scholar 

  26. Shapiro, E. (1982) Algorithmic Program Debugging. MIT Press, Cambridge, Mass.

    Google Scholar 

  27. Soloway E., Bonar J., Woolf B., Barth P., Rubin E., Ehrlich K. (1981) Cognition and Programming: Why Your Students Write Those Crazy Programs Proc. National Educational Computing Conference (NECC-81) pp. 206–219.

    Google Scholar 

  28. Soloway, E., and Ehrlich, K. (1984) Empirical Studies of Programming Knowledge. IEEE Trans. on Software Eng., Vol. 10, pp. 595–609

    Google Scholar 

  29. Soloway E., Ehrlich K., Bonar J. (1982) Cognitive Strategies and Looping Constructs: An Empirical Study Research Rep. Yale Univ. Dept. Comp. Sci.

    Google Scholar 

  30. Soloway E., Ehrlich K., Bonar J., Greenspan J. (1982) What Do Novices Know About Programming Research Rep. No. 218 Yale Univ. Dept. Comp. Sci.

    Google Scholar 

  31. Soloway E., Rubin E., Woolf B., Bonar J., Johnson W.L. (1982) MENO-II: An AI-Based Programming Tutor Research Rep. No. 258 Yale Univ. Dept. Comp. Sci.

    Google Scholar 

  32. Spohrer, J.C., Pope, E., Lipman, M., Sack, W., Freiman, S., Littman, D., Johnson, L., and Soloway, E. (1985) Bug Catalogue: II, III, IV. Tech. Rep. YaleU/CSD/RR #386. Dept. Comp. Sci. Yale University.

    Google Scholar 

  33. Thompson H. and Ritchie, G. (1984) Implementing Natural Language Parsers. Artificial Intelligence: Tools, Techniques, and Applications pp.245–300 (eds. O'Shea, T. and Eisenstadt, M.) Harper and Row.

    Google Scholar 

  34. Weiser M. Programmers Use Slices When Debugging (1982) CACM 25, 7.

    Google Scholar 

  35. Wertz, H. (1987) Automatic Correction and Improvement of Programs. Ellis Horwood Series in Artificial Intelligence.

    Google Scholar 

  36. Wills, L.M. (1986) Automated Program Recognition. MSc Thesis MIT Electrical Engineering and Computer Science.

    Google Scholar 

  37. Wills, L.M. (1990) Automated Program Recognition: A Feasibility Demonstration. Artificial Intelligence 45, pp. 113–171.

    Google Scholar 

  38. Wills, L.M. (1992) Graph Based Program Understanding. Ph.D. Thesis MIT, Boston, USA

    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

Lutz, R. (1993). Towards a plan calculus based intelligent debugging system. 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/BFb0019415

Download citation

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

  • 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