CN111459787A - 一种基于机器学习的测试抄袭检测方法 - Google Patents
一种基于机器学习的测试抄袭检测方法 Download PDFInfo
- Publication number
- CN111459787A CN111459787A CN201910055699.4A CN201910055699A CN111459787A CN 111459787 A CN111459787 A CN 111459787A CN 201910055699 A CN201910055699 A CN 201910055699A CN 111459787 A CN111459787 A CN 111459787A
- Authority
- CN
- China
- Prior art keywords
- feature vector
- training
- similarity
- plagiarism
- machine learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 56
- 238000001514 detection method Methods 0.000 title claims abstract description 41
- 238000010801 machine learning Methods 0.000 title claims abstract description 28
- 239000013598 vector Substances 0.000 claims abstract description 61
- 238000012549 training Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000012795 verification Methods 0.000 claims abstract description 15
- 230000000694 effects Effects 0.000 claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims abstract description 10
- 238000002372 labelling Methods 0.000 claims abstract description 8
- 238000002790 cross-validation Methods 0.000 claims description 4
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 238000012706 support-vector machine Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于机器学习的测试抄袭检测方法。本发明的基本思想为:运用机器学习算法累积样本训练,获取一个足够好的模型去预测代码是否抄袭。首先,计算代码间相似度,把相似度都添加到相似度矩阵中,接着基于此去生成特征向量集合,用于机器学习算法训练的输入。接着,以累积样本的形式每次从中随机抽取n个选手对并人工标注标签,并且划分训练集和验证集,接着基于交叉验证调参后训练并验证效果,重复以上过程直到效果收敛或大于等于预期阈值。最后,将得到的模型用于对剩下的选手对进行预测判断是否抄袭。该方法不仅可以减少人工检测的工作,提高测试代码抄袭检测的效率,而且相比传统的方法可以提高测试代码抄袭检测的精度。
Description
技术领域
本发明属于软件代码抄袭检测领域,尤其适用于测试代码抄袭检测领域,用于提高软件测试竞赛或考试中测试抄袭的检测效率和精度。通过运用机器学习算法自动构建测试抄袭检测模型,判断余下大量测试代码之间是否存在抄袭,来免去大量的人工检测工作,提高测试抄袭检测的效率与精度。
背景技术
代码复用是程序编码过程中的常见操作,它可以省去许多重复代码的编写,有效提高程序的开发效率。然而,不当的代码复用会带来许多不利影响。例如,在比赛中复用其它选手的代码会产生抄袭行为,从而影响比赛的公平。另外,它还可能侵犯其它软件的版权,造成违法犯罪行为。因此,我们应当对程序中的不当代码复用(如抄袭)进行有效的检测,从而保证比赛、考试的公平,保护其它软件的版权。
如果提高测试抄袭的检测能力,可以帮助测试代码抄袭检测工具更高效、更精准的判断抄袭,减少了测试代码抄袭检测的人力、物力投入。因此,我们对测试抄袭检测进行了大量的研究。
目前,研究人员主要通过相似度分析和阈值过滤的方式开展测试抄袭检测:首先,计算测试代码间的相似度;其次,设置不同阈值来过滤生成抄袭检测结果;再次,通过人工标记结果识别最佳阈值;最后,用最佳阈值对余下测试代码做抄袭检测。尽管阈值过滤取得了一定的效果,但在实际应用中还存在一些问题:(1)需要引入大量人工检测来判断阈值是否足够好;(2)难以找到最佳阈值。这些问题不仅影响了测试抄袭检测的时间效率,还会带来较高的误报率和漏报率,影响了测试抄袭检测的实际效果。
对此,本发明提出一种基于机器学习的测试抄袭检测方法。本发明的基本思想为:运用机器学习方法对样本进行训练,获取一个足够好的模型去预测剩下的代码是否抄袭。首先,计算测试代码之间的相似度,并保存到相似度矩阵中,同时基于此生成特征向量集合,作为机器学习训练的输入;接着,以累积样本的形式从特征向量集合中迭代随机抽取一组选手,人工标注后使用机器学习算法进行训练和效果验证重复该过程直到效果收敛或满足预期;最后,使用生成的模型对余下选手对进行测试抄袭检测。通过本方法,可以提高测试代码抄袭的检测效率,有效减少人工检测的工作量,提高测试代码抄袭检测的精度。
发明内容
本发明通过提供一种基于机器学习的测试抄袭检测方法,解决了测试竞赛选择和考试选手作弊抄袭难以检测的问题,提高了测试代码抄袭检测的效率和准确度,从而减轻人工检测作弊抄袭的工作量,保证软件测试竞赛和考试的公平性。
为达成上述目标,本发明提出一种基于机器学习的测试抄袭检测方法。该方法通过编辑距离来计算测试代码间的相似度,并将其保存至相似度矩阵Matrix_Sim中,并由此生成特征向量集合Set_FV,作为机器学习训练的输入;接着,以累积样本的形式从Set_FV中迭代随机抽取n个选手对并人工标注是否抄袭,随后基于交叉验证调参并应用SVM算法训练并验证效果,重复该过程直到效果收敛或大于等于预期阈值;最后,将训练得到的模型对余下选手对进行抄袭预测。具体而言,该方法包含下列步骤:
1)特征数据生成。给定选手测试代码集合Set_SC(Set of Source Code)和被测程序SUT(Software Under Test),每次从集合中取出一对选手代码code_x和code_y并从被测程序中取出方法m_i,接着基于编辑距离来计算相似度,当遍历完成后,每次取出一行相似度作为特征向量fv(feature vector)并添加到特征向量集合Set_FV(Set of FeatureVector)中,用于下一步机器学习训练。
2)预测模型构建。首先输入步骤1)得到的特征向量集合Set_FV(Set of FeatureVector)并初始化累积选手对样本集合Set_AP(Set of Accumulated Pairs),接着每次从Set_FV中随机抽取n个选手对并人工标注标签得到集合Set_Labeled(Set Labeled),将Set_Labeled加入Set_AP,并从Set_FV中去除已打过标签的元素。接着划分Set_Labeled为训练集Set_T(Set for Training)和验证集Set_V(Set for Validating),然后基于交叉验证调参,并针对训练集Set_T应用SVM(Supported Vector Machine)算法训练得到预测模型M-SVM(Model of SVM),应用M-SVM预测Set_V从而得到预测结果R,重复该过程直到R收敛或者R大于等于预期阈值t_expected,最后输出预测模型M-SVM、样本集合Set_AP和特征向量集合Set_FV。
3)测试抄袭预测。首先输入步骤2)得到的预测模型M-SVM以及待预测的特征向量集合并初始化标签序列List_Label(List Labeled)为空,接着每次从Set_FV中取出一个特征向量fv(feature vector),基于M-SVM(Model of SVM)对fv进行预测从而得到标签label,并添加label至List_Label,重复该过程直到Set_FV遍历完成,最终输出标签序列List_Label,即预测出这些选手对是否抄袭。
进一步,其中上述步骤1)的具体步骤如下:
步骤1)-1:起始状态;
步骤1)-2:输入选手测试代码集合Set_SC和被测程序SUT,其中Set_SC表示测试源代码的集合;
步骤1)-3:初始化相似度矩阵Matrix_Sim为空;
步骤1)-4:从集合中取出一对选手代码code_x和code_y;
步骤1)-5:从SUT中取出一个方法m_i;
步骤1)-6:从code_x和code_y中分别取出测试方法m_i的代码sc_x_i和sc_y_i;
步骤1)-7:基于编辑距离计算sc_x_i和sc_y_i的相似度sim_x_y_i;
步骤1)-8:添加sim_xy_i到相似度矩阵Matrix_Sim中;
步骤1)-9:判断方法遍历是否完成,若是则执行步骤1)-10,否则执行步骤1)-5;
步骤1)-10:判断Set_SC是否遍历完成,若是则执行步骤1)-11,否则执行步骤1)-4;
步骤1)-11:初始化特征向量序列List_FV为空;
步骤1)-12:取出一行相似度作为特征向量fv;
步骤1)-13:添加fv至List_FV中;
步骤1)-14:判断Matrix_Sim是否遍历完成,若是则执行步骤1)-15,否则执行步骤1)-12。
步骤1)-15:输出List_FV;
步骤1)-16:结束状态。
进一步,其中上述步骤2)的具体步骤如下:
步骤2)-1:起始状态;
步骤2)-2:输入特征向量集合Set_FV;
步骤2)-3:初始化累积选手对样本集合Set_AP为空;
步骤2)-4:从Set_FV中随机抽取n个选手对并人工标注标签得到集合Set_Labeled;
步骤2)-5:Set_AP=Set_AP∪Set_Labeled,即添加Set_Labeled至Set_AP中;
步骤2)-6:Set_FV=Set_FV-Set_Labeled,即从Set_FV中去除Set_Labeled;
步骤2)-7:划分Set_AP为训练集Set_T及验证集Set_V;
步骤2)-8:基于交叉验证调参;
步骤2)-9:针对训练集Set_T应用SVM算法训练得到预测模型M-SVM;
步骤2)-10:应用M-SVM预测Set_V从而得到预测结果R;
步骤2)-11:判断R是否收敛或R是否大于等于t_expected,若是则执行步骤2)-16,否则执行步骤2)-12;
步骤2)-12:判断size(Set_FV)是否大于0,若是则执行步骤2)-13,否则执行步骤2)-16;
步骤2)-13:判断size(Set_FV)是否大于等于n,若是则执行步骤2)-4,否则执行步骤2)-14;
步骤2)-14:Set_Labeled=Set_FV,即将Set_FV标上标记变为Set_Labeled;
步骤2)-15:人工标注Set_Labeled;
步骤2)-16:输出M-SVM、Set_AP和Set_FV;
步骤2)-17:结束状态。
进一步,其中上述步骤3)的具体步骤如下:
步骤3)-1:起始状态;
步骤3)-2:输入预测模型M-SVM和待测特征向量集合Set_FV;
步骤3)-3:初始化标签序列List_Label为空;
步骤3)-4:从Set_FV中取出一个特征向量fv;
步骤3)-5:基于M-SVM对fv进行预测从而得到标签label;
步骤3)-6:添加label至List_Label;
步骤3)-7:判断Set_FV是否遍历完成,若是则执行步骤3)-8,否则执行步骤3)-4;
步骤3)-8:输出List_Label;
步骤3)-9:结束状态。
附图说明
图1为本发明实施中的一种基于机器学习的测试抄袭检测方法的流程图。
图2为图1中特征数据生成的流程图
图3为图1中预测模型构建的流程图。
图4为图1中测试抄袭预测的流程图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例子并配合所附图式说明如下。
图1为本发明实施的一种基于机器学习的测试抄袭检测方法的整体框架图。
关于一种基于机器学习的测试抄袭检测方法,其特征在于,包括下列步骤。
S1特征数据生成:给定选手测试代码集合和被测程序,每次从测试代码集合中取出一对选手代码并从被测程序中取出一个方法,接着基于编辑距离来计算相似度,当测试代码集合和选手代码都遍历完成后,每次取出一行相似度作为特征向量并添加到特征向量序列中,最后将特征向量序列用于机器学习训练。
S2预测模型构建:首先输入特征向量集合并初始化累积选手对样本集合,接着每次从特征向量集合中随机抽取n个选手对并人工标注标签得到有标签的集合,将有标签的集合加入累积选手对样本集合,并从特征向量集合中去除已打过标签的。接着划分训练集和验证集,然后基于交叉验证调参,并针对测试集应用机器学习算法训练得到预测模型,应用机器学习算法训练得到的预测模型预测验证集从而得到预测结果,重复以上过程直到预测效果收敛或者预测效果大于等于预期阈值,最后输出预测模型、样本集合和特征向量集合。
S3测试抄袭预测:首先输入预测模型以及待预测的特征向量集合并初始化标签序列为空,接着每次从待预测的特征向量集合中取出一个特征向量,基于预测模型对特征向量进行预测从而得到标签,并添加标签至标签序列,重复该过程直到特征向量序列遍历完成,最终输出标签序列,即预测出这些选手对是否抄袭。
图2为特征数据生成的流程图。计算出代码相似度,并根据相似度生成特征向量数据。具体步骤如下:
步骤1:起始状态;步骤2:输入选手测试代码集合Set_SC和被测程序SUT,其中Set_SC表示测试源代码的集合;步骤3:初始化相似度矩阵Matrix_Sim为空;步骤4:从集合中取出一对选手代码code_x和code_y;步骤5:从SUT中取出一个方法m_i;步骤6:从code_x和code_y中分别取出测试方法m_i的代码sc_x_i和sc_y_i;步骤7:基于编辑距离计算sc_x_i和sc_y_i的相似度sim_x_y_i;步骤8:添加sim_x_y_i到相似度矩阵Matrix_Sim中;步骤9:判断方法遍历是否完成,若是则执行步骤10,否则执行步骤5;步骤10:判断Set_SC是否遍历完成,若是则执行步骤11,否则执行步骤4;步骤11:初始化特征向量序列List_FV为空;步骤12:取出一行相似度作为特征向量fv;步骤13:添加fv至List_FV中;步骤14:判断Matrix_Sim是否遍历完成,若是则执行步骤15,否则执行步骤12。步骤15:输出List_FV;步骤16:结束状态。
图3为预测模型构建的流程图。具体步骤如下:
步骤1:起始状态;步骤2:输入特征向量集合Set_FV;步骤3:初始化累积选手对样本集合Set_AP;步骤4:从Set_FV中随机抽取n个选手对并人工标注标签得到集合Set_Labeled;步骤5:Set_AP=Set_AP∪Set_Labeled,即添加Set_Labeled至Set_AP中;步骤6:Set_FV=Set_FV-Set_Labeled,即从Set_FV中去除Set_Labeled;步骤7:划分Set_AP为训练集Set_T及验证集Set_V;步骤8:基于交叉验证调参;步骤9:针对训练集Set_T应用SVM算法训练得到预测模型M-SVM;步骤10:应用M-SVM预测Set_V从而得到预测结果R;步骤11:判断R是否收敛或R是否大于等于t_expected,若是则执行步骤16,否则执行步骤12;步骤12:判断size(Set_FV)是否大于0,若是则执行步骤13,否则执行步骤16;步骤13:判断size(Set_FV)是否大于等于n,若是则执行步骤2)-4,否则执行步骤2)-14;步骤14:Set_Labeled=Set_FV,即将Set_FV标上标记变为Set_Labeled;步骤15:人工标注Set_Labeled;步骤16:输出M-SVM、Set_AP和Set_FV;步骤17:结束状态。
图4为测试抄袭预测的流程图。具体步骤如下:
步骤1:起始状态;步骤2:输入预测模型M-SVM和待测特征向量集合Set_FV;步骤3:初始化标签序列List_Label为空;步骤4:从Set_FV中取出一个特征向量fv;步骤5:基于M-SVM对fv进行预测从而得到标签label;步骤6:添加label至List_Label;步骤7:判断Set_FV是否遍历完成,若是则执行步骤8,否则执行步骤4;步骤8:输出List_Label;步骤9:结束状态。
综上所述,本发明提出了一种基于机器学习的测试抄袭检测方法,用于解决目前测试代码抄袭检测精度低和测试代码抄袭检测依赖大量人工的问题,来提高测试代码抄袭检测的精度和效率。
Claims (4)
1.一种基于机器学习的测试抄袭检测方法,其特征在于通过使用基于编辑距离的方法来计算出代码之间的相似度,把相似度都添加到相似度矩阵Matrix_Sim中,接着基于此去生成特征向量集合Set_FV,用于机器学习算法训练的输入;接着,以累积样本的形式每次从Set_FV中随机抽取n个选手对并人工标注标签,并且划分训练集和验证集,接着基于交叉验证调参并应用SVM算法训练并验证效果,重复以上过程直到效果收敛或大于等于预期阈值;最后,将得到的模型用于对剩下的选手对得到的特征向量进行预测从而得到是否抄袭的标签;具体而言,该方法包含下列步骤:
1)特征数据生成,给定选手测试代码集合Set_SC(Set of Source Code)和被测程序SUT(Software Under Test),每次从集合中取出一对选手代码code_x和code_y并从被测程序中取出方法m_i,接着基于编辑距离来计算相似度,当遍历完成后,每次取出一行相似度作为特征向量fv(feature vector)并添加到特征向量集合Set_FV(Set of FeatureVector)中,最后将Set_FV用于机器学习训练;
2)预测模型构建,首先输入步骤1)得到的特征向量集合Set_FV(Set of FeatureVector)并初始化累积选手对样本集合Set_AP(Set of Accumulated Pairs),接着每次从Set_FV中随机抽取n个选手对并人工标注标签得到集合Set_Labeled(Set Labeled),将Set_Labeled加入Set_AP,并从Set_FV中去除已打过标签的;接着划分训练集Set_T(Setfor Training)和验证集Set_V(Set for Validating),然后基于交叉验证调参,并针对训练集Set_T应用SVM(Supported Vector Machine)算法训练得到预测模型M-SVM(Model ofSVM),应用M-SVM预测Set_V从而得到预测结果R,重复以上过程直到R收敛或者R大于等于预期阈值t_expected,最后输出预测模型M-SVM、样本集合Set_AP和特征向量集合Set_FV;
3)测试抄袭预测,首先输入步骤2)得到的预测模型M-SVM以及待预测的特征向量集合Set_FV并初始化标签序列List_Label(List Labeled)为空,接着每次从Set_FV中取出一个特征向量fv(feature vector),基于M-SVM(Model of SVM)对fv进行预测从而得到标签label,并添加label至List_Label,重复该过程直到Set_FV遍历完成,最终输出标签序列List_Label,即预测出这些选手对是否抄袭。
2.根据权利要求1所述的基于机器学习的测试抄袭检测方法,其特征在于,在步骤1)中,特征数据生成;给定选手测试代码集合和被测程序;首先,每次从集合中取出一对选手代码并从被测程序中取出方法,接着基于编辑距离来计算相似度,当遍历完成后,每次取出一行相似度作为特征向量并添加到特征向量集合中,最后将特征向量集合输出以用于机器学习训练。
3.根据权利要求1所述的基于机器学习的测试抄袭检测方法,其特征在于,在步骤2)中,预测模型构建;首先输入特征向量集合并初始化累积选手对样本集合,接着每次从特征向量集合中随机抽取n个选手对并人工标注标签得到打过标签的集合,将打过标签的集合加入累积选手对样本集合,并从特征向量集合中去除打过标签的样本;接着,划分训练集和验证集,然后基于交叉验证调参,并针对训练集应用SVM算法训练得到预测模型,应用模型预测验证集从而得到预测结果,重复以上过程直到预测结果收敛或者预测结果大于等于预期阈值,最后输出预测模型、样本集合和特征向量集合。
4.根据权利要求1所述的基于机器学习的测试抄袭检测方法,其特征在于,在步骤3)中,测试抄袭预测;首先输入得到的预测模型以及待预测的特征向量集合并初始化标签序列为空,接着每次从特征向量集合中取出一个特征向量,基于模型对特征向量进行预测从而得到标签,并添加标签至标签序列中,重复该过程直到特征向量集合遍历完成,最终输出标签序列,即预测出这些选手对是否抄袭。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910055699.4A CN111459787A (zh) | 2019-01-18 | 2019-01-18 | 一种基于机器学习的测试抄袭检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910055699.4A CN111459787A (zh) | 2019-01-18 | 2019-01-18 | 一种基于机器学习的测试抄袭检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111459787A true CN111459787A (zh) | 2020-07-28 |
Family
ID=71684943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910055699.4A Pending CN111459787A (zh) | 2019-01-18 | 2019-01-18 | 一种基于机器学习的测试抄袭检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111459787A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112068962A (zh) * | 2020-09-14 | 2020-12-11 | 江苏赞奇科技股份有限公司 | 一种基于深度学习的云渲染资源兑换方法 |
CN112164224A (zh) * | 2020-09-29 | 2021-01-01 | 杭州锘崴信息科技有限公司 | 信息安全的交通信息处理系统、方法、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398758A (zh) * | 2008-10-30 | 2009-04-01 | 北京航空航天大学 | 一种代码抄袭的检测方法 |
US20130326625A1 (en) * | 2012-06-05 | 2013-12-05 | Los Alamos National Security, Llc | Integrating multiple data sources for malware classification |
CN106960003A (zh) * | 2017-02-15 | 2017-07-18 | 黑龙江工程学院 | 抄袭检测中的基于机器学习的源检索的查询生成方法 |
CN107273294A (zh) * | 2017-06-19 | 2017-10-20 | 电子科技大学 | 一种基于神经网络语言模型的重复代码检测方法 |
CN107679567A (zh) * | 2017-09-22 | 2018-02-09 | 江苏海事职业技术学院 | 一种代码抄写行为识别方法、装置和系统 |
CN108446540A (zh) * | 2018-03-19 | 2018-08-24 | 中山大学 | 基于源代码多标签图神经网络的程序代码抄袭类型检测方法与系统 |
CN109165040A (zh) * | 2018-07-04 | 2019-01-08 | 东华大学 | 一种基于随机森林模型的代码抄袭嫌疑检测的方法 |
-
2019
- 2019-01-18 CN CN201910055699.4A patent/CN111459787A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398758A (zh) * | 2008-10-30 | 2009-04-01 | 北京航空航天大学 | 一种代码抄袭的检测方法 |
US20130326625A1 (en) * | 2012-06-05 | 2013-12-05 | Los Alamos National Security, Llc | Integrating multiple data sources for malware classification |
CN106960003A (zh) * | 2017-02-15 | 2017-07-18 | 黑龙江工程学院 | 抄袭检测中的基于机器学习的源检索的查询生成方法 |
CN107273294A (zh) * | 2017-06-19 | 2017-10-20 | 电子科技大学 | 一种基于神经网络语言模型的重复代码检测方法 |
CN107679567A (zh) * | 2017-09-22 | 2018-02-09 | 江苏海事职业技术学院 | 一种代码抄写行为识别方法、装置和系统 |
CN108446540A (zh) * | 2018-03-19 | 2018-08-24 | 中山大学 | 基于源代码多标签图神经网络的程序代码抄袭类型检测方法与系统 |
CN109165040A (zh) * | 2018-07-04 | 2019-01-08 | 东华大学 | 一种基于随机森林模型的代码抄袭嫌疑检测的方法 |
Non-Patent Citations (2)
Title |
---|
王卉: "《一种C程序代码相似度检测方法》" * |
赵彦博: "《基于抽象语法树的程序代码抄袭检测技术研究》" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112068962A (zh) * | 2020-09-14 | 2020-12-11 | 江苏赞奇科技股份有限公司 | 一种基于深度学习的云渲染资源兑换方法 |
CN112164224A (zh) * | 2020-09-29 | 2021-01-01 | 杭州锘崴信息科技有限公司 | 信息安全的交通信息处理系统、方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106354630B (zh) | 一种基于动态符号执行的软件缺陷检测方法 | |
US20110184689A1 (en) | Method of automatically formulating test cases for verifying at least part of a piece of software | |
CN105302719B (zh) | 一种变异测试方法及装置 | |
CN115687115B (zh) | 一种移动应用程序自动化测试方法及系统 | |
CN111522942B (zh) | 文本分类模型的训练方法、装置、存储介质及计算机设备 | |
WO2009108647A4 (en) | Evaluating software programming skills | |
CN111459787A (zh) | 一种基于机器学习的测试抄袭检测方法 | |
CN109918292A (zh) | 一种处理器指令集测试方法和装置 | |
CN112035345A (zh) | 一种基于代码片段分析的混合深度缺陷预测方法 | |
CN112948193B (zh) | 一种基于差异测试的fpga综合工具缺陷检测方法 | |
CN108875810B (zh) | 针对训练语料从词频表中进行负例采样的方法及装置 | |
CN112905451B (zh) | 应用程序的自动化测试方法及装置 | |
CN104536880B (zh) | 基于符号执行的gui程序测试用例扩增方法 | |
CN107203469B (zh) | 基于机器学习的编译器测试加速方法 | |
CN112416301A (zh) | 深度学习模型开发方法及装置、计算机可读存储介质 | |
CN111814414A (zh) | 一种基于遗传算法的覆盖率收敛方法及系统 | |
CN115576840B (zh) | 基于机器学习的静态程序插桩检测方法及装置 | |
CN112016675A (zh) | 用于钢板表面缺陷检测的cnn模型训练方法和装置 | |
CN110968518A (zh) | 自动化测试日志文件的分析方法及装置 | |
CN115328798A (zh) | 一种芯片验证自动化回归测试方法及计算机可读存储介质 | |
CN114064472A (zh) | 基于代码表示的软件缺陷自动修复加速方法 | |
CN114168399A (zh) | 一种信号处理单元测试方法及系统 | |
CN109684615B (zh) | 一种行人碰撞试验报告生成方法及装置 | |
CN113268429A (zh) | 一种基于多样性导向变异的高级综合工具缺陷检测方法 | |
CN109033079B (zh) | 语言模型的训练方法、训练装置及检验方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200728 |