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.
References
Adam A., Laurent J. (1980) LAURA A System to Debug Student Programs Artificial Intelligence 15, pp. 75–122.
Ehrlich K., Soloway E. (1982) An Empirical Investigation of the Tacit Plan Knowledge in Programming. Research Rep. 236, Yale Univ. Dept. Comp. Sci.
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.
Fritzson, P., Gyimothy, T., Kamkar, M., and Shahmehri, N. (1991). Generalised Algorithmic Debugging and Testing. Proc. ACM PLDI'91.
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.
Goldstein I.P. (1974) Understanding Simple Picture Programs PhD. Thesis MIT AI Lab. Technical Report 294.
Johnson, W.L. (1986) Intention-Based Diagnosis of Novice Programming Errors. Pitman(London).
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.
Kamkar, M., Shahmehri, N., and Fritzson, P. (1992). Interprocedural Dynamic Slicing. Proc. PLILP'92, Leuven, Belgium. Lecture Notes in Computer Science 631, Springer-Verlag.
Kuper, R.I. (1989) Dependency-Directed Localization of Software Bugs. MIT AI Lab. Technical Report 1053.
Lukey F.J. (1978) Understanding and Debugging Simple Computer Programs PhD Thesis, University of Sussex.
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.
Lutz, R.K. (1986) Diagram Parsing — A New Technique for Artificial Intelligence. CSRP-054, School of Cognitive and Computing Sciences, University of Sussex.
Lutz, R.K. (1989a) Chart Parsing of Flowgraphs. Proc. 11th Joint Int. Conf. on AI. Detroit, USA.
Lutz, R.K. (1989b) Debugging Pascal Programs Using a Flowgraph Chart Parser. Proc. 2nd Scandinavian conference on AI, Tampere, Finland.
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.
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.
Murray, W.R. (1986) Automatic Program Debugging for Intelligent Tutoring Systems. Doctoral Dissertation, Artificial Intelligence Laboratory, The University of Texas at Austin. June 1986.
Rich C. (1981) Inspection Methods in Programming MIT Artificial Intelligence Laboratory AI-TR-604.
Rich, C. (1985) The layered architecture of a system for reasoning about programs. Proceedings IJCAI-85, Los Angeles, CA. pp. 540–546.
Ruth G.R. (1973) Analysis of Algorithm Implementations PhD Thesis MIT.
Ruth, G.R. (1976) Intelligent Program Analysis Artificial Intelligence 7, pp. 65–85.
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.
Seviora, E. R. (1987) Knowledge-Based Program Debugging Systems. IEEE Software. 4(3): pp. 20–32.
Shapiro, D.G. (1978) Sniffer: A System that Understands Bugs. MIT Artificial Intelligence Laboratory. AI Memo 459.
Shapiro, E. (1982) Algorithmic Program Debugging. MIT Press, Cambridge, Mass.
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.
Soloway, E., and Ehrlich, K. (1984) Empirical Studies of Programming Knowledge. IEEE Trans. on Software Eng., Vol. 10, pp. 595–609
Soloway E., Ehrlich K., Bonar J. (1982) Cognitive Strategies and Looping Constructs: An Empirical Study Research Rep. Yale Univ. Dept. Comp. Sci.
Soloway E., Ehrlich K., Bonar J., Greenspan J. (1982) What Do Novices Know About Programming Research Rep. No. 218 Yale Univ. Dept. Comp. Sci.
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.
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.
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.
Weiser M. Programmers Use Slices When Debugging (1982) CACM 25, 7.
Wertz, H. (1987) Automatic Correction and Improvement of Programs. Ellis Horwood Series in Artificial Intelligence.
Wills, L.M. (1986) Automated Program Recognition. MSc Thesis MIT Electrical Engineering and Computer Science.
Wills, L.M. (1990) Automated Program Recognition: A Feasibility Demonstration. Artificial Intelligence 45, pp. 113–171.
Wills, L.M. (1992) Graph Based Program Understanding. Ph.D. Thesis MIT, Boston, USA
Author information
Authors and Affiliations
Editor information
Rights 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