CLS-PROG: an Intelligent Tool for Classifying Programs in Online Judge Systems.

Yigong Pan,Guangzhong Sun
DOI: https://doi.org/10.1145/3321408.3322845
2019-01-01
Abstract:With the development of modern information technology, modern education system is changing from informationization to intelligentization. In programming education, there are many programming problems that we can solve with multiple solutions. Classifying programs according to solutions is useful and significant. Since this technology can be used to develop many other intelligent programming education systems: (1). Assessment of multi-solution programs, (2). Personalized knowledge recommendation to students, (3). Analyzing key and difficult points for teaching. We develop a tool named CLS-PROG for classifying programs. Specifically, first, we standardize programs to reduce syntactic variation via program transformation technology. Next, we extract features from each code block of a program individually. Finally, we propose an effective multi-instance multi-task learning machine model to classify programs. Experiments was conducted on 4537 programs from an OJ (Online Judge) system. The results demonstrate the effectiveness of our tool. This tool can be used for teaching programming courses and training programming competition.
What problem does this paper attempt to address?