Please use this identifier to cite or link to this item:
|Title:||Transformation-based diagnosis of student programs for programming tutoring systems||Authors:||Xu, S.
San Chee, Y.
|Keywords:||Automatic program diagnosis
Programming tutoring systems
|Issue Date:||2003||Citation:||Xu, S., San Chee, Y. (2003). Transformation-based diagnosis of student programs for programming tutoring systems. IEEE Transactions on Software Engineering 29 (4) : 360-384. ScholarBank@NUS Repository. https://doi.org/10.1109/TSE.2003.1191799||Abstract:||A robust technology that automates the diagnosis of students' programs is essential for programming tutoring systems. Such technology should be able to determine whether programs coded by a student are correct. If a student's program is incorrect, the system should be able to pinpoint errors in the program as well as explain and correct the errors. Due to the difficulty of this problem, no existing system performs this task entirely satisfactorily, and this problem still hampers the development of programming tutoring systems. This paper describes a transformation-based approach to automate the diagnosis of students' programs for programming tutoring systems. Improved control-flow analysis and data-flow analysis are used in program analysis. Automatic diagnosis of student programs is achieved by comparing the student program with a specimen program at the semantic level after both are standardized. The approach was implemented and tested on 525 real student programs for nine different programming tasks. Test results show that the method satisfies the requirements stated above. Compared to other existing approaches to automatic diagnosis of student programs, the approach developed here is more rigorous and safer in identifying student programming errors. It is also simpler to make use of in practice. Only specimen programs are needed for the diagnosis of student programs. The techniques of program standardization and program comparison developed here may also be useful for research in the fields of program understanding and software maintenance.||Source Title:||IEEE Transactions on Software Engineering||URI:||http://scholarbank.nus.edu.sg/handle/10635/38970||ISSN:||00985589||DOI:||10.1109/TSE.2003.1191799|
|Appears in Collections:||Staff Publications|
Show full item record
Files in This Item:
There are no files associated with this item.
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.