[发明专利]一种基于支持向量机的测试程序抄袭检测方法在审
申请号: | 201910055791.0 | 申请日: | 2019-01-18 |
公开(公告)号: | CN111459788A | 公开(公告)日: | 2020-07-28 |
发明(设计)人: | 陈振宇;孙伟松;孙泽嵩;王兴亚;段定 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210093 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 支持 向量 测试 程序 抄袭 检测 方法 | ||
1.一种基于支持向量机的测试程序抄袭检测方法,其特征在于,针对待测程序和测试程序进行静态分析提取出所有待测方法映射集合和测试方法映射集合;基于待测方法映射集合和测试方法映射集合,进行测试程序代码相似度计算,以计算所得的相似度值映射构成集合为输入,构建支持向量机模型,并加以优化;最后,通过支持向量机判断选手是够抄袭,提高了检测测试程序代码抄袭的准确率和精度,从而帮助开发者测试竞赛自动化检测选手的代码抄袭行为,免去了人工检测环节,节约了人力成本和时间成本,也保证了竞赛更加公平公正;该方法包含下列步骤:
1)程序的切割与分析;给定开发者测试竞赛中的项目源程序即待测程序PUT、参与开发者测试竞赛的选手Cid提交的测试程序TP;首先,对于每一个待测程序中的文件FUT进行静态分析,得到FUT中的待测类CUT、待测试方法MUT;然后,分析每一个MUT,可得知待测方法的类名CUTN、方法名MUTN、方法各个参数的类型序列ATL;最后,拼接CUTN、MUTN、ATL,得到该待测方法的Mstr,进一步利用哈希函数计算出Mstr对应的Mid;每一个Mid与MUT对应形成映射,全部Mid、MUT映射组成待测方法映射集合MUTS;同理,通过找到选手提交的TP中测试文件TF,通过静态分析技术分析TF中的测试类TC和测试方法TM;然后,分析每一个TM,可得知其测试的待测方法的类名TCN、方法名TMN、方法各个参数的类型序列ATL;最后,拼接TCN、TMN、ATL,得到能够代表该测试片段所测试的待测方法的Mstr,进一步利用哈希函数计算出Mstr对应的Mid;每一个Mid与Cid、TM对应形成映射,全部Mid、Cid、TM映射组成测试方法映射集合TMS;
2)测试程序代码相似度计算;给定步骤1)获得的待测方法映射集合MUTS和测试方法映射集合TMS;首先,遍历MUTS得到Mid集合Mids;然后,从TMS中两两遍历选手,取选手Cid1、Cid2及其所有映射的Mid1,TM1、Mid2,TM2并遍历,得到Mid1集合Mid1s、Mid2集合Mid2s;最后,找出Mid1s和Mid2s公有的且存在于Mids中的Mid,计算其在Mid1s和Mid2s中映射的TM1、TM2的相似度值SV,得到选手方法相似度值映射Cid1,Cid2,Mid,SV,所有的选手方法相似度值映射构成集合SVS;
3)支持向量机模型构建;给定步骤2)获得的相似度值集合SVS;首先,从SVS中取N对选手,从而得到他们的选手方法相似度值映射Cid1,Cid2,Mid,SV,并人工判断这N对选手是否抄袭P;然后,选取合适的核函数kf,并计算参照点,利用kf和参照点建立支持向量机模型;最后,利用极大似然估计函数argminLoss优化SVM,得到优化后的SVM;
4)测试程序抄袭检测;给定步骤3)获得的支持向量机模型SVM和步骤2)获得的相似度值集合SVS;首先,遍历相似度值集合中的选手方法相似度值映射,将其输入到SVM中;然后,得到SVM的输出结果即为选手是否抄袭P。
2.根据权利要求1所述的基于支持向量机的测试程序抄袭检测方法,其特征在于,在步骤1)中,程序的切割与分析;给定开发者测试竞赛中的项目源程序即待测程序、参与开发者测试竞赛的选手提交的测试程序,对于每一个待测程序中的文件进行静态分析,得到待测类、待测试方法;分析每一个带测试方法,可得知待测方法的类名、方法名、方法各个参数的类型序列,拼接并进一步利用哈希函数计算出对应的Mid,与待测方法对应形成映射,组成待测方法映射集合;同理,通过找到选手提交的测试程序中测试文件,通过静态分析技术分析测试类和测试方法;分析每一个测试方法,可得知其测试的待测方法的类名、方法名、方法各个参数的类型序列,拼接并利用哈希函数计算出能够代表该测试片段所测试的待测方法的Mid,与选手、测试方法对应形成映射,组成测试方法映射集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910055791.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于机器学习的测试抄袭检测方法
- 下一篇:多维度人群特征测定方法