一句话:提出 MAF 技术,用双向静态切片锚定被测方法并抽取测试代码片段,提升抄袭检测效果。
软件工程教育快速发展催生了在线练习平台,测试代码抄袭检测成为保障学习效果的需求。已有相似度度量直接作用于整份测试代码时,会被大量与被测方法无关的噪声代码干扰。本文提出 MAF(Method-Anchored test Fragmentation)技术,通过双向静态切片定位被测方法(method under test),并据此将测试代码切分为与之相关的片段,再结合现有相似度度量进行抄袭检测。作者在 Mooctest 数据集上开展实验,该平台近三年支持了全球数百项测试活动。结果表明,MAF 能有效提升相似度度量在测试代码抄袭检测上的精确率、召回率与 F1 值。作者认为该技术还可扩展到测试推荐、测试复用等工程应用。
Software engineering education becomes popular due to the rapid development of the software industry. In order to reduce learning costs and improve learning efficiency, some online practice platforms have emerged. This paper proposes a novel test code plagiarism detection technology, namely MAF, by introducing bidirectional static slicing to anchor methods under test and extract fragments of test codes. Combined with similarity measures, MAF can achieve effective plagiarism detection by avoiding massive unrelated noisy test codes. The experiment is conducted on the dataset of Mooctest, which so far has supported hundreds of test activities around the world in the past 3 years. The experimental results show that MAF can effectively improve the performance (precision, recall and F1-measure) of similarity measures for test code plagiarism detection. We believe that MAF can further expand and promote software testing education, and it can also be extended to use in test recommendation, test reuse and other engineering applications.
@inproceedings{SunWWDSC19,
title = {MAF: Method-Anchored Test Fragmentation for Test Code Plagiarism Detection},
author = {Weisong Sun and Xingya Wang and Haoran Wu and Ding Duan and Zesong Sun and Zhenyu Chen},
booktitle = {ICSE},
year = {2019},
doi = {10.1109/icse-seet.2019.00020}
}