Automatic correction of C programming exercises through Unit-Testing and Aspect-Programming
Andrea Sterbini, Marco Temperini, Franco Bagnoli · 2004
We present a framework for the automatic testing of C Programming assignments that is based on Unit tests and Aspect programming. Students are required to implement a set of C functions and are given each function’s prototype. Teachers are required to write unit tests for each function, a ”reference implementation” of each function and a feedback message for each test failed. The system applies the unit tests to the code and replaces a failing function with the corresponding reference implementation to test also functions depending on the failed one. We are developing the system while testing it on the homeworks submitted for two courses: ”Programming 2” and ”Programming Laboratory”, delivered during the second term of first year of our Computer Science MS degree. We present the design of the system and the issues solved so far to test 4 homeworks (a total of 186 tests run over 28 implemented functions).