Answer Code Validation Program with Test Data Generation for Code Writing Problem in Java Programming Learning Assistant System - Wai, Khaing Hsu; Funabiki, Nobuo; Aung, Soe Thandar; Lu, Xiqin; Jing, Yanhui; Kyaw, Htoo Sandi; Kao, Wen-Chung (Engineering letters, 2024)
In order to support the learning of novice students in Java programming, the web-based Java Programming Learning Assistant System (JPLAS) has been developed. JPLAS offers several types of exercise problems to foster code reading and writing skills at different levels. In JPLAS, the code writing problem (CWP) asks a student to write a source code that will pass the test code given in the assignment where the correctness is verified by running them on JUnit. In this paper, to reduce the teacher's workload during the marking process, we present the answer code validation program that verifies all the source codes from a large number of students for each assignment and reports the number of passing tests for each source code in the CSV file. Besides, to test a source code with various input data, we implement the test data generation algorithm that identifies the data type, generates new data, and replaces it for each test data in the test code. Furthermore, to verify the correctness of the implemented procedures in the source code, we introduce the intermediate state testing in the test code. For evaluations, we applied the proposal to source codes and test codes in a Java programming course in Okayama university, Japan, and confirmed the validity and effectiveness.