Answer Code Validation Program with Test Data Generation for Code Writing Problem in Java Programming Learning Assistant System

Khaing Hsu Wai, Nobuo Funabiki, Soe Thandar Aung, Xiqin Lu, Yanhui Jing, Htoo Htoo Sandi Kyaw, Wen Chung Kao

Research output: Contribution to journalArticlepeer-review

1 Citation (Scopus)

Abstract

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.

Original languageEnglish
Pages (from-to)981-994
Number of pages14
JournalEngineering Letters
Volume32
Issue number5
Publication statusPublished - 2024

Keywords

  • code validation
  • code writing problem
  • Java
  • JUnit
  • programming learning
  • test data generation

ASJC Scopus subject areas

  • General Engineering

Fingerprint

Dive into the research topics of 'Answer Code Validation Program with Test Data Generation for Code Writing Problem in Java Programming Learning Assistant System'. Together they form a unique fingerprint.

Cite this