CN113704108A - 一种相似代码检测方法及装置、电子设备、存储介质 - Google Patents

一种相似代码检测方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN113704108A
CN113704108A CN202110995565.8A CN202110995565A CN113704108A CN 113704108 A CN113704108 A CN 113704108A CN 202110995565 A CN202110995565 A CN 202110995565A CN 113704108 A CN113704108 A CN 113704108A
Authority
CN
China
Prior art keywords
dissimilar
feature
similar
code
pair
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
Application number
CN202110995565.8A
Other languages
English (en)
Inventor
杨昕立
吕何新
戴过勇
阮越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Shuren University
Original Assignee
Zhejiang Shuren University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Shuren University filed Critical Zhejiang Shuren University
Priority to CN202110995565.8A priority Critical patent/CN113704108A/zh
Publication of CN113704108A publication Critical patent/CN113704108A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3628Software debugging of optimised code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种相似代码检测方法及装置、电子设备、存储介质,所述方法包括:获取待检测的代码片段对;利用词嵌入技术,将所述代码片段对转换成包含语义信息的特征向量对;将所述特征向量对输入到训练好的集成学习分类器中,得到检测结果。所述训练好的集成学习分类器的训练过程包括:获取具有已知类别标签的代码片段对的相似数据集和不相似数据集;利用词嵌入技术,将所述相似数据集和不相似数据集的代码片段转换成包含语义信息的特征向量,得到对应的相似特征集和不相似特征集;利用过采样技术,对所述不相似特征集进行扩增;将所述相似特征集与扩增后的不相似特征集作为训练集,输入集成学习分类器进行训练。

Description

一种相似代码检测方法及装置、电子设备、存储介质
技术领域
本申请涉及软件工程领域,尤其涉及一种相似代码检测方法及装置、电子设备、存储介质。
背景技术
软件开发人员经常参照已有代码来实现类似功能,或者直接通过复制粘贴来“复用”代码,这样会产生很多语义和功能上相似的代码。尽管这种重用代码的方式某种程度上能提高开发效率,但是代码克隆却导致了软件bug的扩散,维护难度加大,甚至有许可违规的风险。随着软件系统规模越来越大也越来越复杂,相似代码检测在软件的维护和发展过程中变得愈加重要。通常,相似代码可以根据相似程度分为四种不同的类型:
1)Type1型。除了注释和布局之外,两个代码片段完全相同。
2)Type2型。除了Type-1型差异之外,两个代码片段在标识符名称和字面常量值方面也不同。
3)Type3型。除了Type-1和Type-2型差异之外,这两个代码片段还添加,修改和删除了相关的语句。换句话说,它们在语法层面上是相似的。
4)Type4型。两个代码片段实现相同的功能,但在语法上不相似。
研究已经提出了一些相似代码检测的方法和工具,这些工具主要可分为三大类:基于文本、基于标记以及基于树。NICAD是一种基于文本的相似代码检测方法。CCFinder和SourcererCC是两个著名的基于标记的相似代码检测方法。DECKARD是一个基于树的相似代码检测工具。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:这些工具只根据代码语法上的相似性来检测,对Type1-Type3型相似代码检测效果较好,并不能有效检测Type4型相似代码。而实际中,Type4型相似代码恰恰是数量最多且亟需被检测的。
发明内容
本申请实施例的目的是提供一种相似代码检测方法及装置、电子设备、存储介质,以解决相关技术中存在的无法有效检测Type4型相似代码的技术问题。
根据本申请实施例的第一方面,提供一种方法,包括:
获取待检测的代码片段对;
利用词嵌入技术,将所述代码片段对转换成包含语义信息的特征向量对;
将所述特征向量对输入到训练好的集成学习分类器中,得到检测结果。
进一步地,利用词嵌入技术,将所述代码片段对转换成包含语义信息的特征向量,包括:
将所述代码片段对中的每个代码片段输入到所述词嵌入技术的模型中;
根据所述模型的最大化目标函数,分别计算得到所述代码片段中的单词的词义向量;
分别对代码片段包含的所有单词的词义向量取均值,得到所述代码片段的特征向量,从而得到所述代码片段对相对应的特征向量对。
进一步地,训练好的集成学习分类器的训练过程包括:
获取具有已知类别标签的代码片段对的相似数据集和不相似数据集;
利用词嵌入技术,将所述相似数据集和不相似数据集的代码片段转换成包含语义信息的特征向量,得到对应的相似特征集和不相似特征集;
利用过采样技术,对所述不相似特征集进行扩增;将所述相似特征集与扩增后的不相似特征集作为训练集对集成学习分类器进行训练。
进一步地,利用词嵌入技术,对所述相似数据集和不相似数据集的代码片段转换成包含语义信息的特征向量,得到对应的相似特征集和不相似特征集,包括:
将所述相似数据集和不相似数据集的代码片段输入到所述词嵌入技术的模型中;
根据所述模型的最大化目标函数,计算得到所述代码片段中的单词的词义向量;
对代码片段包含的所有单词的词义向量取均值,得到所述代码片段的特征向量;
根据所述相似数据集和不相似数据集的所有代码片段的特征向量,得到对应的相似特征集和不相似特征集。
进一步地,利用过采样技术,对所述不相似特征集进行扩增,包括:
获取所述相似特征集的第一数据量和所述不相似特征集的第二数据量;
设置所述第一数据量占所述第一数据量和第二数据量之和的目标比例;
选择所述不相似特征集中的实例;将所述实例添加到所述不相似特征集中,直到所述第二数据量与所述第一数据量和第二数据量之和的比值达到所述目标比例。
根据本申请实施例的第二方面,提供一种装置,包括:
获取模块,获取待检测的代码片段对;
转换模块,利用词嵌入技术,将所述代码片段对转换成包含语义信息的特征向量对;
检测模块,将所述特征向量对输入到训练好的集成学习分类器中,得到检测结果。
根据本申请实施例的第三方面,提供一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如第一方面所述方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本申请采用词嵌入技术将代码片段转换为包含语义信息的特征向量,更好的挖掘出代码中的隐含的信息,有助于更好的判断出Type4型相似代码;将所述特征向量输入到集成学习分类器中,可以更全面的学习所述特征向量;有效地检测相似代码中数量最多,最难检测且亟需被检测的Type4型相似代码。同时,本发明未采用复杂的深度神经网络,可以保证在实际生产中可扩展性较高,检测效率较高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种相似代码检测方法中集成学习分类器的训练过程流程图。
图2是根据一示例性实施例示出的步骤S102的流程图。
图3是根据一示例性实施例示出的步骤S103的流程图。
图4是根据一示例性实施例示出的一种相似代码检测方法的流程图。
图5是根据一示例性实施例示出的一种相似代码检测装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是根据一示例性实施例示出的一种相似代码检测方法中集成学习分类器的训练过程流程图,如图1所示,可以包括以下步骤:
步骤S101:获取具有已知类别标签的代码片段对的相似数据集和不相似数据集;
步骤S102:利用词嵌入技术,将所述相似数据集和不相似数据集的代码片段转换成包含语义信息的特征向量,得到对应的相似特征集和不相似特征集;
步骤S103:利用过采样技术,对所述相似特征集进行扩增;
步骤S104:将所述不相似特征集与扩增后的相似特征集作为训练集对集成学习分类器进行训练。
在步骤S101的具体实施中,获取具有已知类别标签的代码片段对的相似数据集和不相似数据集;
具体地,我们采用经典的公共数据集BigCloneBench,它涵盖了10种不同的功能的代码片段,包含超过610万个相似代码片段对和超过25万个不相似代码片段对,在许多相似代码检测研究中使用,可以较为客观的评估我们的方法。我们从中获取所需具有已知类别标签的代码片段对的相似数据集和不相似数据集。
在步骤S102的具体实施中,利用词嵌入技术,将所述相似数据集和不相似数据集的代码片段转换成包含语义信息的特征向量,得到对应的相似特征集和不相似特征集;如图2所示,此步骤包括以下子步骤:
步骤S201:将所述相似数据集和不相似数据集的代码片段输入到所述词嵌入技术的模型中;
具体地,所述词嵌入技术的模型包括CBOW模型和Skip-Gram模型,在本实施例中,所述词嵌入技术的模型为Skip-Gram模型。Skip-Gram模型是一种常用的词嵌入技术,在文本处理问题中有不错的效果。我们将代码当作一种特殊的文本,采用Skip-Gram模型将代码片段转换为包含语义信息的特征向量。
步骤S202:根据所述模型的最大化目标函数,计算得到所述代码片段中的单词的词义向量;
具体地,所述Skip-Gram模型的目标函数J为在给定单词t条件下相邻单词出现的概率对数的总和,如下式所示:
Figure BDA0003234000710000061
其中n表示单词序列的整个长度,p(tj|ti)是使用以下softmax函数定义的条件概率:
Figure BDA0003234000710000071
其中vt是单词t的向量表示,T是所有单词的词汇表;
通过训练整个代码片段语料库,语料库词汇表中的所有单词都可以表示为d维向量,其中d是可变参数,设置参数值通常取决于数据集中的代码片段的最大大小。我们发现大小为100的向量能够表示数据集中的所有代码片段,包括那些具有最大大小的代码片段,因此设定特征向量维度为100。
步骤S203:对代码片段包含的所有单词的词义向量取均值,得到所述代码片段的特征向量;
具体地,理论上,代码片段可以表示为矩阵,其中每行代表一个单词。由于不同的代码片段具有不同数量的单词,难以将它们直接输入到检测模型中。因此我们通过对代码片段包含的所有单词向量取均值,将代码片段矩阵转换为向量。平均值是基于向量中每个维度的数值计算的。按如下方式生成变换后的代码片段向量vd
Figure BDA0003234000710000072
其中n为代码片段矩阵的行数,ri为矩阵的第i行;
利用上面的公式,每个代码片段可以表示为特征向量,它可以包含代码片段的语义信息。
步骤S204:根据所述相似数据集和不相似数据集的所有代码片段的特征向量,得到对应的相似特征集和不相似特征集;
具体地,将所有代码片段根据上述步骤S201-S203转换成包含语义信息的特征向量。所有相似代码片段对转换得到的特征向量对组成相似特征集,所有不相似代码片段对转换得到的特征向量对组成不相似特征集。
在步骤S103的具体实施中,利用过采样技术,对所述不相似特征集进行扩增;
具体地,在BigCloneBench数据集中,具有不相似标签的代码片段对(少数类)数量远小于具有相似标签的代码片段对(多数类)数量。由于我们更倾向于考虑更多不同的代码片段以具有更多不同的标记序列情况,因此我们选择过采样技术。过采样技术将属于少数类的数据进行重复,以扩大其规模;如图3所示,此步骤包括以下子步骤:
步骤S301:设置所述少数类数量占所述多数类数量和少数类数量之和的目标比例;
具体地,目标比例可根据具体情况自行设定,在本实施例中,设为50%,即使得少数类数量增加至与多数类数量相近,使数据集趋于平衡。平衡的数据集将更有益于分类器的训练。
步骤S302:选择所述不相似特征集中的实例,将所述实例添加到所述不相似特征集中,直到所述少数类数量与所述多数类数量和少数类数量之和的比值达到所述目标比例;
具体地,使用策略选择所述不相似特征集中的实例,所述选择策略可以是随机选择和基于聚类的选择等。在本实施例中采用随机选择,因为少数类中的每个代码对彼此独立,随机选择策略可以以平均概率选择各实例,扩增的少数类数据也可以比较均匀。
在步骤S104的具体实施中,将所述相似特征集与扩增后的不相似特征集作为训练集对集成学习分类器进行训练;
具体地,所述集成学习分类器主要有基于Bagging,基于Boosting和基于Stacking的分类器,在本实施例中,采取Bagging+决策树得到的随机森林分类器进行训练。设置随机森林训练模型的参数如下:
tree number=100;
tree depth=infinite;
min sample for leaf node=2;
mean ratio between leaf node and parent node=0;
random data size for each tree=100000;random seed=0;
这些参数是根据对BigCloneBench集中所有数据的完整分析以及源自该数据集的工程特征确定的,实验效果较好。
图4是根据一示例性实施例示出的一种相似代码检测方法的流程图,如图4所示,可以包括以下步骤:
步骤S401:获取待检测的代码片段对;
步骤S402:利用词嵌入技术,将所述代码片段对转换成包含语义信息的特征向量对;
具体地,将所述代码片段对中的每个代码片段输入到与步骤S102中相同的Skip-Gram模型中;根据所述模型的最大化目标函数,分别计算得到所述代码片段中的单词的词义向量;分别对代码片段包含的所有单词的词义向量取均值,得到所述代码片段的特征向量,从而得到所述代码片段对相对应的特征向量对。
步骤S403:将所述特征向量对输入到训练好的集成学习分类器中,得到检测结果;
具体地,将所述特征向量输入到如上述步骤S101-步骤S104训练好的集成学习分类器中,得到所述代码片段对的标签,即相似或者不相似。
由上述实施例可知,本申请采用词嵌入技术将代码片段转换为包含语义信息的特征向量,更好的挖掘出代码中的隐含的信息,有助于更好的判断出Type4型相似代码;将所述特征向量输入到集成学习分类器中,可以更全面的学习所述特征向量;有效地检测相似代码中数量最多,最难检测且亟需被检测的Type4型相似代码。同时,本发明未采用复杂的深度神经网络,可以保证在实际生产中可扩展性较高,检测效率较高。
与前述的一种相似代码检测方法的实施例相对应,本申请还提供了一种相似代码检测装置的实施例。
图5是根据一示例性实施例示出的一种相似代码检测装置框图。参照图5,该装置包括:
获取模块21,获取待检测的代码片段对;
转换模块22,利用词嵌入技术,将所述代码片段对转换成包含语义信息的特征向量对;
检测模块23,将所述特征向量对输入到训练好的集成学习分类器中,得到检测结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的相似代码检测方法。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如上述的相似代码检测方法。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种相似代码检测方法,其特征在于,包括:
获取待检测的代码片段对;
利用词嵌入技术,将所述代码片段对转换成包含语义信息的特征向量对;
将所述特征向量对输入到训练好的集成学习分类器中,得到检测结果。
2.根据权利要求1所述的一种相似代码检测方法,其特征在于,利用词嵌入技术,将所述代码片段对转换成包含语义信息的特征向量对,包括:
将所述代码片段对中的每个代码片段输入到所述词嵌入技术的模型中;
根据所述模型的最大化目标函数,分别计算得到所述代码片段中的单词的词义向量;
分别对代码片段包含的所有单词的词义向量取均值,得到所述代码片段的特征向量,从而得到所述代码片段对相对应的特征向量对。
3.根据权利要求1所述的一种相似代码检测方法,其特征在于,训练好的集成学习分类器的训练过程包括:
获取具有已知类别标签的代码片段对的相似数据集和不相似数据集;
利用词嵌入技术,将所述相似数据集和不相似数据集的代码片段转换成包含语义信息的特征向量,得到对应的相似特征集和不相似特征集;
利用过采样技术,对所述不相似特征集进行扩增;
将所述相似特征集与扩增后的不相似特征集作为训练集,输入集成学习分类器进行训练。
4.根据权利要求3所述的一种相似代码检测方法,其特征在于,利用词嵌入技术,对所述相似数据集和不相似数据集的代码片段转换成包含语义信息的特征向量,得到对应的相似特征集和不相似特征集,包括:
将所述相似数据集和不相似数据集的代码片段输入到所述词嵌入技术的模型中;
根据所述模型的最大化目标函数,计算得到所述代码片段中的单词的词义向量;
对代码片段包含的所有单词的词义向量取均值,得到所述代码片段的特征向量;
根据所述相似数据集和不相似数据集的所有代码片段的特征向量,得到对应的相似特征集和不相似特征集。
5.根据权利要求3所述的一种相似代码检测方法,其特征在于,利用过采样技术,对所述不相似特征集进行扩增,包括:
设置所述不相似特征集数据量占所述相似特征集数据量和不相似特征集数据量之和的目标比例;
选择所述不相似特征集中的实例,将所述实例添加到所述不相似特征集中,直到所述不相似特征集数据量与所述相似特征集数据量和不相似特征集数据量之和的比值达到所述目标比例。
6.一种相似代码检测装置,其特征在于,包括:
获取模块,获取待检测的代码片段对;
转换模块,利用词嵌入技术,将所述代码片段对转换成包含语义信息的特征向量对;
检测模块,将所述特征向量对输入到训练好的集成学习分类器中,得到检测结果。
7.根据权利要求1所述的一种相似代码检测装置,其特征在于,利用词嵌入技术,将所述代码片段对转换成包含语义信息的特征向量对,包括:
将所述代码片段对中的每个代码片段输入到所述词嵌入技术的模型中;
根据所述模型的最大化目标函数,分别计算得到所述代码片段中的单词的词义向量;
分别对代码片段包含的所有单词的词义向量取均值,得到所述代码片段的特征向量,从而得到所述代码片段对相对应的特征向量对。
8.根据权利要求1所述的一种相似代码检测装置,其特征在于,训练好的集成学习分类器的训练过程包括:
获取具有已知类别标签的代码片段对的相似数据集和不相似数据集;
利用词嵌入技术,将所述相似数据集和不相似数据集的代码片段转换成包含语义信息的特征向量,得到对应的相似特征集和不相似特征集;
利用过采样技术,对所述不相似特征集进行扩增;
将所述相似特征集与扩增后的不相似特征集作为训练集,输入集成学习分类器进行训练。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-5中任一项所述方法的步骤。
CN202110995565.8A 2021-08-27 2021-08-27 一种相似代码检测方法及装置、电子设备、存储介质 Pending CN113704108A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110995565.8A CN113704108A (zh) 2021-08-27 2021-08-27 一种相似代码检测方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110995565.8A CN113704108A (zh) 2021-08-27 2021-08-27 一种相似代码检测方法及装置、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN113704108A true CN113704108A (zh) 2021-11-26

Family

ID=78655954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110995565.8A Pending CN113704108A (zh) 2021-08-27 2021-08-27 一种相似代码检测方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN113704108A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114625315A (zh) * 2022-01-21 2022-06-14 南华大学 一种基于元语义嵌入的云存储相似数据检测方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200104631A1 (en) * 2018-09-27 2020-04-02 International Business Machines Corporation Generating vector representations of code capturing semantic similarity
CN111124487A (zh) * 2018-11-01 2020-05-08 浙江大学 代码克隆检测方法、装置以及电子设备
CN112215013A (zh) * 2020-11-02 2021-01-12 天津大学 一种基于深度学习的克隆代码语义检测方法
CN113204679A (zh) * 2021-04-13 2021-08-03 武汉大学 一种代码查询模型的生成方法和计算机设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200104631A1 (en) * 2018-09-27 2020-04-02 International Business Machines Corporation Generating vector representations of code capturing semantic similarity
CN111124487A (zh) * 2018-11-01 2020-05-08 浙江大学 代码克隆检测方法、装置以及电子设备
CN112215013A (zh) * 2020-11-02 2021-01-12 天津大学 一种基于深度学习的克隆代码语义检测方法
CN113204679A (zh) * 2021-04-13 2021-08-03 武汉大学 一种代码查询模型的生成方法和计算机设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114625315A (zh) * 2022-01-21 2022-06-14 南华大学 一种基于元语义嵌入的云存储相似数据检测方法和系统

Similar Documents

Publication Publication Date Title
CN110245496B (zh) 一种源代码漏洞检测方法及检测器和其训练方法及系统
CN103299324B (zh) 使用潜在子标记来学习用于视频注释的标记
US8407253B2 (en) Apparatus and method for knowledge graph stabilization
CN111444320A (zh) 文本检索方法、装置、计算机设备和存储介质
CN112579155B (zh) 代码相似性检测方法、装置以及存储介质
CN111124487B (zh) 代码克隆检测方法、装置以及电子设备
WO2022048363A1 (zh) 网站分类方法、装置、计算机设备及存储介质
US20190073406A1 (en) Processing of computer log messages for visualization and retrieval
US20050246353A1 (en) Automated transformation of unstructured data
CN1627300A (zh) 学习并使用广义串模式用于信息提取
US20080127043A1 (en) Automatic Extraction of Programming Rules
CN112052451A (zh) 一种webshell检测方法和装置
CN103761337A (zh) 非结构化数据处理方法及系统
US20200117574A1 (en) Automatic bug verification
KR101472451B1 (ko) 디지털 콘텐츠 관리 시스템 및 방법
CN114818643A (zh) 一种保留特定业务信息的日志模板提取方法
CN110245349A (zh) 一种句法依存分析方法、装置及一种电子设备
CN116975340A (zh) 信息检索方法、装置、设备、程序产品及存储介质
CN110750297B (zh) 一种基于程序分析和文本分析的Python代码参考信息生成方法
CN116797195A (zh) 工单处理方法、装置、计算机设备和计算机可读存储介质
CN113609488B (zh) 基于自监督学习及多通道超图神经网络的漏洞检测方法与系统
US20230385037A1 (en) Method and system for automated discovery of artificial intelligence (ai)/ machine learning (ml) assets in an enterprise
JP2008046695A (ja) 類似度評価プログラム、類似度評価装置及び類似度評価方法
CN112270189A (zh) 一种提问式的分析节点生成方法、系统及存储介质
CN116974554A (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