Diploma Theses

Topic:Programming Tutor Assistance (ProTA),
Semantical source code analyis of programming exercises
Grade:1.0 (A)
Institute:Institute for Applied Computer Science and Formal Description Methods of the University of Karlsruhe
Referent:Prof. Dr. Detlef Seese
Attendant:Dipl.Wi.-Ing. Roland Küstermann
Submit:January 12 2006


The institute for applied computer science and formal description methods (AIFB) of the University of Karlsruhe uses the Learning management uses system ILIAS and WebEx to support the lectures "elementary course programming I in Java" and "programming of commercially systems".

The lecture contents are offered in the learning management system. In addition the student is provided with exercises whose source code is presented in form of a cloze. The student uses WebEx to hand in the solutions of his exercises. WebEx compiles the solutions. If the compiler recognizes syntactic faults, WebEx gives the error messages back to the student. Solutions which could be compiled without faults are archived for the manual correction by the tutors.

ILIAS and WebEx shall be extended by the system ProTA to be able to give the student feedback and support to semantic faults automatically. To this end ProTA provides the tutors with an interface for the correction of the exercises. The corrections of the tutors are stored in the system to be able to process recurring semantically equivalent solutions on their basis automatically. Due to the assumption that semantically equivalent solutions frequently recur the tutors can be relieved in their correction work.

Semantically equivalent solutions differ only in syntactic variations. Before a newly submitted solution can be compared with an solution which is already known by the system, syntactic variations must be eliminated. Therefore the source code of a solution is normalized by semantically equivalent elements being transformed into an element fixed before.

The system introduced in this work is tested with the help of 15573 exercises of the terms WS03/04, SS04, WS04/05. It turns out that semantically equivalent solutions frequently return and these are recognized by ProTA as such. ProTA delivers the correction stored for the solution and so relieves the tutor which does not have to correct this solution once more. More than 40 per cent of the solutions which were entered into the system were corrected automatically.