---
title: "Automatic Diagnosis of Student Programs in Programming Learning Environments"
authors:
  - "Songwen Xu"
  - "Yam San Chee"
doi: ""
url: "https://ijcai.org/proceedings/1999/157"
pdf: "https://ijcai.org/proceedings/1999/0157.pdf"
venue: "Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence"
year: 1999
pages: "1102-1106"
track: "Qualitative Reasoning and Diagnosis"
keywords:
---

# Automatic Diagnosis of Student Programs in Programming Learning Environments

Songwen Xu, Yam San Chee

*Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence*, pages 1102-1106.

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