Proceedings

Automatic Diagnosis of Student Programs in Programming Learning Environments

Download BibTeX Cite

Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence. Qualitative Reasoning and Diagnosis. Pages 1102-1106.

© 1999 International Joint Conferences on Artificial Intelligence

Abstract

This paper describes a method to automate the diagnosis of students' programming errors in programming learning environments. In order to recognize correct students' programs as well as to identify errors in incorrect student programs, programs are represented using an improved dependence graph representation. The student program is compared with a specimen program (also called a model program) at the semantic level after both are standardized by program transformations. The method is implemented using Smalltalk in S1PLeS-11, an automatic program diagnosis system for Samlltalk programming learning environments. The system has been tested on approximately 330 student programs for various tasks. Experimental results show that, using the method, semantic errors in a student program can be identified rigorously and safely. Semantics-preserving variations in a student program can be eliminated or accommodated. The tests also show that the system can identify a wide range of errors as well as produce indications of the corrections needed. This method is essential for the development of programming learning environments. The techniques of the improved program dependence graph representation, program standardization by transformations, and semantic level program comparison are also useful in other research fields including program understanding and software maintenance.

  1. [Adam and Laurent, 1980] A. Adam, and J. Laurent. A System to Debug Student Programs. Artificial Intelligence, 15( I): 75--122, 1980.
  2. [Ferrante et a/., 1987] J. Ferrante, K. Ottenstein, and J. Warren. The Program Dependence Graph and its Use in Optimization. ACM Transactions on Programming Languages, 9(3): 319--349, 1987.
  3. [Horwitz, 1990] S. Horwitz. Identifying the Semantic and Textual Differences between Two Versions of a Program. ACM SIGPLAN Notices, 25(6):234--245, 1990.
  4. [Johnson and Soloway, 1985] W.L. Johnson, and E. Soloway. Proust: Knowledge-based Program Understanding. IEEE Transac- tions on Software Engineering, SE-11(3): 11--19, 1985.
  5. [Kozaczynski eta/., 1992] W. Kozaczynski, J. Ning, and A. Eng- berts. Program Concept Recognition and Transformation. IEEE Transactions on Software Engineering, 18( 12): I 065--1075,1992 .
  6. [Loveman, 1977] D. Loveman. Program Improvement by Source to Source Transformation. Journal of ACM, 24(1 ): 121--145, 1977.
  7. [McGregor et a/., 1996] J.D. McGregor, B.A. Malloy, and R.L. Siegmund. A Comprehensive Program Representation of Object- oriented Software. Annals of Software Engineering, 2:51--91, 1996.
  8. [Muchnick, 1997] S.S. Muchnick, Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, 1997.
  9. [Murray, 1988] W.R. Murray, Automatic Program Dehuggingfor Intelligent Tutoring Systems. Morgan Kaufmann Publishers, 1988.
  10. [Ramadhan and du Boulay, 1992] H. Ramadhan, and B. du Bou- lay. Programming Environment for Novices. E. Lemut, B. du Boulay, and G. Dettori, eds., Cognitive Models and Intelligent Environments for Learning Programming. Springer-Verlag, 1992.
  11. [Rich and Wills, 1990] C. Rich, and L.M. Wills. Recognizing a Program 's Design: a Graph-parsing Approach . IEEE Software, I :82--89, 1990.
  12. [Thorburn and Rowe, 1997] G. Thorburn, and G. Rowe. PASS : An Automated System for Program Assessment. Computers and Edu- cation, 29(4): 195--206, 1997.
  13. [Ueno, 1995] H. Ueno. Concepts and Methodologies for Knowl- edge-based Program Understanding-the ALPUS's Approach . IEICE Transactions on Information and Systems, E78-D(9): 1108-- 1117,1995.
  14. [Yang eta/., 1992] W. Yang, S. Horwitz, and T. Reps. A Program Integration Algorithm that Accommodates Semantics-preserving Transformations. ACM Transactions on Software Engineering and Methodology, I (3) :31 0--354, 1992.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards