-
公开(公告)号:CN111459788A
公开(公告)日:2020-07-28
申请号:CN201910055791.0
申请日:2019-01-18
Applicant: 南京大学
Abstract: 本发明涉及一种基于支持向量机的测试程序抄袭检测方法。该方法对于待测程序和测试程序进行切割和静态分析,得到待测方法映射集合和测试方法映射集合;其次,两两遍历选手,计算测试片段相似度并汇总得到相似度集合;然后,选取合适的核函数和参照点建立支持向量机模型,并进行优化;最后,对于其他测试程序,通过计算相似度集合并输入支持向量机,判断测试程序之间抄袭情况。本发明目的在于填补关于测试程序代码相似度检测技术的空白,提高了检测测试程序代码抄袭的准确率和精度,从而帮助开发者测试竞赛自动化检测选手的代码抄袭行为,从而免去了人工检测环节,节约了人力成本和时间成本,也保证了竞赛更加公平公正。
-
公开(公告)号:CN111459786A
公开(公告)日:2020-07-28
申请号:CN201910051630.4
申请日:2019-01-18
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明提出一种基于变异fuzz的智能合约安全测试方法,该方法以智能合约的源代码作为输入,获取智能合约的二进制接口(Application Binary Interface,ABI),从ABI中找到函数类型的元素,提取它们的函数声明;在此基础上,进一步开展测试数据生成:若被测函数没有种子,则随机生成测试数据,否则将会有一定几率基于种子变异产生测试数据;接着,使用测试数据执行私有链上的智能合约,进而开展漏洞检测,更新种子,再次回到测试输入产生步骤,如此反复直到达到事先设置测试终止条件(该终止条件可以为测试时间、路径覆盖率等)。通过该方法,测试人员可以在短时间内检查智能合约是否存在安全性问题,并且可以参考输入复现其问题。
-
公开(公告)号:CN110232446A
公开(公告)日:2019-09-13
申请号:CN201910504968.0
申请日:2019-06-12
Applicant: 南京大学 , 大学仕量化(北京)科技有限公司
Abstract: 本发明公开了一种基于基因遗传的共识节点选择方法和装置。该方法以共识达成率、共识达成时间和经济性作为适应度值的因子,将各个共识节点是否候选编码成一个个染色体的遗传基因,根据遗传基因所确定的是否选中共识节点,对每个染色体选中的共识节点进行适应度值分析,然后根据适应度值的大小进行遗传基因的优选,优选后通过遗传基因的交叉运算和变异运算,得到下一代的群体,通过上述步骤的迭代最终得到适应度值最优的遗传基因,最后根据遗传基因所确定的是否选中共识节点从最优的遗传基因中挑选出共识节点作为优选的共识节点,从而得到联盟链的共识节点优化方案的最优解。
-
公开(公告)号:CN110084321B
公开(公告)日:2023-01-20
申请号:CN201910380031.7
申请日:2019-05-08
IPC: G06F18/23213 , G06F17/16 , G06F11/36
Abstract: 本发明涉及一种基于K‑均值聚类的软件测试目标路径选择方法。该方法给定待测程序,利用Z覆盖方法将程序中的循环结构转化为选择结构,基于赫夫曼编码对程序路径进行编码;从路径编码集合中随机选择路径作为聚类中心,计算剩余路径与聚类中心的区分度,对路径进行聚类;最后,结合K‑均值聚类算法,选择类中与其他路径区分度和最小的路径作为新的聚类中心,直到聚类中心不再变化为止;最终,输出聚类中心作为待测程序的测试目标路径集合。本发明目的在于解决了目前被测软件路径数目众多的情况下,全路径覆盖测试难以达到,测试质量难以得到保障的问题,最终帮助测试人员提高软件测试效率,同时保障软件测试的质量。
-
公开(公告)号:CN110543331B
公开(公告)日:2021-07-06
申请号:CN201810561223.3
申请日:2018-05-29
Applicant: 南京大学
Abstract: 本发明涉及一种基于测试代码片段相似性的测试程序抄袭检测方法。该方法针对待测试程序中各个待测方法,首先,基于类名、方法名、参数序列计算出唯一方法标识;其次,从测试程序中提取所有测试代码片段集合,每个测试片段与一个待测方法相对应;然后,分析测试片段间相似性得到相似性分析报告,由此计算出片段之间的相似度值;最后,利用测试片段相似度值计算测试程序整体相似程度值,利用测试程序整体相似程度值即可更加精确的判断测试程序之间抄袭情况。本发明目的在于填补针对测试代码相似性检测技术的空白,解决目前测试代码相似性分析的低精度和测试代码抄袭检测主要靠人工操作的低效率问题,从而提高测试代码相似性检测的效率和精度。
-
公开(公告)号:CN111459787A
公开(公告)日:2020-07-28
申请号:CN201910055699.4
申请日:2019-01-18
Applicant: 南京大学
Abstract: 本发明涉及一种基于机器学习的测试抄袭检测方法。本发明的基本思想为:运用机器学习算法累积样本训练,获取一个足够好的模型去预测代码是否抄袭。首先,计算代码间相似度,把相似度都添加到相似度矩阵中,接着基于此去生成特征向量集合,用于机器学习算法训练的输入。接着,以累积样本的形式每次从中随机抽取n个选手对并人工标注标签,并且划分训练集和验证集,接着基于交叉验证调参后训练并验证效果,重复以上过程直到效果收敛或大于等于预期阈值。最后,将得到的模型用于对剩下的选手对进行预测判断是否抄袭。该方法不仅可以减少人工检测的工作,提高测试代码抄袭检测的效率,而且相比传统的方法可以提高测试代码抄袭检测的精度。
-
公开(公告)号:CN110084321A
公开(公告)日:2019-08-02
申请号:CN201910380031.7
申请日:2019-05-08
Abstract: 本发明涉及一种基于K-均值聚类的软件测试目标路径选择方法。该方法给定待测程序,利用Z覆盖方法将程序中的循环结构转化为选择结构,基于赫夫曼编码对程序路径进行编码;从路径编码集合中随机选择路径作为聚类中心,计算剩余路径与聚类中心的区分度,对路径进行聚类;最后,结合K-均值聚类算法,选择类中与其他路径区分度和最小的路径作为新的聚类中心,直到聚类中心不再变化为止;最终,输出聚类中心作为待测程序的测试目标路径集合。本发明目的在于解决了目前被测软件路径数目众多的情况下,全路径覆盖测试难以达到,测试质量难以得到保障的问题,最终帮助测试人员提高软件测试效率,同时保障软件测试的质量。
-
公开(公告)号:CN111459786B
公开(公告)日:2023-08-29
申请号:CN201910051630.4
申请日:2019-01-18
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明提出一种基于变异fuzz的智能合约安全测试方法,该方法以智能合约的源代码作为输入,获取智能合约的二进制接口(Application Binary Interface,ABI),从ABI中找到函数类型的元素,提取它们的函数声明;在此基础上,进一步开展测试数据生成:若被测函数没有种子,则随机生成测试数据,否则将会有一定几率基于种子变异产生测试数据;接着,使用测试数据执行私有链上的智能合约,进而开展漏洞检测,更新种子,再次回到测试输入产生步骤,如此反复直到达到事先设置测试终止条件(该终止条件可以为测试时间、路径覆盖率等)。通过该方法,测试人员可以在短时间内检查智能合约是否存在安全性问题,并且可以参考输入复现其问题。
-
公开(公告)号:CN110543411A
公开(公告)日:2019-12-06
申请号:CN201810561267.6
申请日:2018-05-29
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明涉及一种演化环境下变异测试强度需求预测方法。该方法基于特征提取和错误检测数目对软件的各个版本通过数据清洗和特征选择,构建用于模型训练的特征矩阵和强度向量;在此基础上,应用BP神经网络方法构建预测模型,并在模型构建时不断通过信号前向传播和误差后向传播结果调整模型权重,从而学习生成一个变异测试强度需求预测模型BP-Model;最后,将当前软件版本的特征向量输入到BP-Model中,最终生成当前软件版本的变异测试强度需求。本发明目的在于解决目前存在的新版本软件变异测试强度未知的难题,进而帮助测试人员制订合理的变异测试需求,帮助测试人员在有限的时间内构建有效的测试用例集。
-
公开(公告)号:CN110543331A
公开(公告)日:2019-12-06
申请号:CN201810561223.3
申请日:2018-05-29
Applicant: 南京大学
Abstract: 本发明涉及一种基于测试代码片段相似性的测试程序抄袭检测方法。该方法针对待测试程序中各个待测方法,首先,基于类名、方法名、参数序列计算出唯一方法标识;其次,从测试程序中提取所有测试代码片段集合,每个测试片段与一个待测方法相对应;然后,分析测试片段间相似性得到相似性分析报告,由此计算出片段之间的相似度值;最后,利用测试片段相似度值计算测试程序整体相似程度值,利用测试程序整体相似程度值即可更加精确的判断测试程序之间抄袭情况。本发明目的在于填补针对测试代码相似性检测技术的空白,解决目前测试代码相似性分析的低精度和测试代码抄袭检测主要靠人工操作的低效率问题,从而提高测试代码相似性检测的效率和精度。
-
-
-
-
-
-
-
-
-