一种基于测试代码片段相似性的测试程序抄袭检测方法

    公开(公告)号:CN110543331A

    公开(公告)日:2019-12-06

    申请号:CN201810561223.3

    申请日:2018-05-29

    Applicant: 南京大学

    Abstract: 本发明涉及一种基于测试代码片段相似性的测试程序抄袭检测方法。该方法针对待测试程序中各个待测方法,首先,基于类名、方法名、参数序列计算出唯一方法标识;其次,从测试程序中提取所有测试代码片段集合,每个测试片段与一个待测方法相对应;然后,分析测试片段间相似性得到相似性分析报告,由此计算出片段之间的相似度值;最后,利用测试片段相似度值计算测试程序整体相似程度值,利用测试程序整体相似程度值即可更加精确的判断测试程序之间抄袭情况。本发明目的在于填补针对测试代码相似性检测技术的空白,解决目前测试代码相似性分析的低精度和测试代码抄袭检测主要靠人工操作的低效率问题,从而提高测试代码相似性检测的效率和精度。

    一种基于支持向量机的测试程序抄袭检测方法

    公开(公告)号:CN111459788A

    公开(公告)日:2020-07-28

    申请号:CN201910055791.0

    申请日:2019-01-18

    Applicant: 南京大学

    Abstract: 本发明涉及一种基于支持向量机的测试程序抄袭检测方法。该方法对于待测程序和测试程序进行切割和静态分析,得到待测方法映射集合和测试方法映射集合;其次,两两遍历选手,计算测试片段相似度并汇总得到相似度集合;然后,选取合适的核函数和参照点建立支持向量机模型,并进行优化;最后,对于其他测试程序,通过计算相似度集合并输入支持向量机,判断测试程序之间抄袭情况。本发明目的在于填补关于测试程序代码相似度检测技术的空白,提高了检测测试程序代码抄袭的准确率和精度,从而帮助开发者测试竞赛自动化检测选手的代码抄袭行为,从而免去了人工检测环节,节约了人力成本和时间成本,也保证了竞赛更加公平公正。

    一种基于测试代码片段相似性的测试程序抄袭检测方法

    公开(公告)号:CN110543331B

    公开(公告)日:2021-07-06

    申请号:CN201810561223.3

    申请日:2018-05-29

    Applicant: 南京大学

    Abstract: 本发明涉及一种基于测试代码片段相似性的测试程序抄袭检测方法。该方法针对待测试程序中各个待测方法,首先,基于类名、方法名、参数序列计算出唯一方法标识;其次,从测试程序中提取所有测试代码片段集合,每个测试片段与一个待测方法相对应;然后,分析测试片段间相似性得到相似性分析报告,由此计算出片段之间的相似度值;最后,利用测试片段相似度值计算测试程序整体相似程度值,利用测试程序整体相似程度值即可更加精确的判断测试程序之间抄袭情况。本发明目的在于填补针对测试代码相似性检测技术的空白,解决目前测试代码相似性分析的低精度和测试代码抄袭检测主要靠人工操作的低效率问题,从而提高测试代码相似性检测的效率和精度。

    一种基于机器学习的测试抄袭检测方法

    公开(公告)号:CN111459787A

    公开(公告)日:2020-07-28

    申请号:CN201910055699.4

    申请日:2019-01-18

    Applicant: 南京大学

    Abstract: 本发明涉及一种基于机器学习的测试抄袭检测方法。本发明的基本思想为:运用机器学习算法累积样本训练,获取一个足够好的模型去预测代码是否抄袭。首先,计算代码间相似度,把相似度都添加到相似度矩阵中,接着基于此去生成特征向量集合,用于机器学习算法训练的输入。接着,以累积样本的形式每次从中随机抽取n个选手对并人工标注标签,并且划分训练集和验证集,接着基于交叉验证调参后训练并验证效果,重复以上过程直到效果收敛或大于等于预期阈值。最后,将得到的模型用于对剩下的选手对进行预测判断是否抄袭。该方法不仅可以减少人工检测的工作,提高测试代码抄袭检测的效率,而且相比传统的方法可以提高测试代码抄袭检测的精度。

Patent Agency Ranking