Detecting Functional Differences using Automatic Test Generation for Automated Assessment in Programming Education

Detecting Functional Differences using Automatic Test Generation for Automated Assessment in Programming Education
复制标题

DOI:
10.1109/apsec53868.2021.00062
复制
发表时间:
2021-12
期刊:
2021 28th Asia-Pacific Software Engineering Conference (APSEC)
影响因子:
--
通讯作者:
Ryoko Izuta;S. Matsumoto;H. Igaki;S. Saiki;Naoki Fukuyasu;S. Kusumoto
Ryoko Izuta;S. Matsumoto;H. Igaki;S. Saiki;Naoki Fukuyasu;S. Kusumoto
中科院分区:
其他
文献类型:
--
作者:
Ryoko Izuta;S. Matsumoto;H. Igaki;S. Saiki;Naoki Fukuyasu;S. Kusumoto

文献摘要

相似文献

软件测试在编程教育中被用来自动评估编程作业。当在编程教育中使用软件测试时,程序规范作为单元或集成测试提供,学生创建通过这些测试的程序。虽然这种方法有各种优点,如保证客观的程序规格和自动化的操作检查,它也有许多缺点。例如,检测创新,如原始规格和功能扩展的个别学生,是困难的。本研究的目的是在程式设计教育中,利用测试自动侦测学生程式之间的功能差异。在我们提出的方法中,自动测试生成应用于学生程序,和生成的测试是相互执行的其他学生程序。此外,我们根据执行路径对测试进行分类,以获得能够检测功能差异的测试集。
Software testing is being leveraged in programming education for automated assessment of programming assignments. When using software testing in programming education, program specifications are provided as unit or integration tests, and students create programs that pass these tests. Although this method has various advantages, such as ensuring objective program specifications and automating the operation check, it also has many disadvantages. For example, detecting innovations, such as original specifications and functional extensions by an individual student, is difficult. The purpose of this research is to automatically detect functional differences among student programs in programming education using tests. In our proposed method, automatic test generation is applied to student programs, and the generated tests are mutually executed for other student programs. Furthermore, we classify the tests based on the execution path to obtain sets of tests that are capable of detecting functional differences.