CN112685080A - 开源组件查重方法、系统、装置及可读存储介质 - Google Patents

开源组件查重方法、系统、装置及可读存储介质 Download PDF

Info

Publication number
CN112685080A
CN112685080A CN202110028472.8A CN202110028472A CN112685080A CN 112685080 A CN112685080 A CN 112685080A CN 202110028472 A CN202110028472 A CN 202110028472A CN 112685080 A CN112685080 A CN 112685080A
Authority
CN
China
Prior art keywords
matching
open source
source component
template
comparison
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.)
Granted
Application number
CN202110028472.8A
Other languages
English (en)
Other versions
CN112685080B (zh
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.)
Shenzhen Kaiyuan Internet Security Technology Co Ltd
Original Assignee
Shenzhen Kaiyuan Internet Security Technology Co Ltd
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 Shenzhen Kaiyuan Internet Security Technology Co Ltd filed Critical Shenzhen Kaiyuan Internet Security Technology Co Ltd
Priority to CN202110028472.8A priority Critical patent/CN112685080B/zh
Publication of CN112685080A publication Critical patent/CN112685080A/zh
Application granted granted Critical
Publication of CN112685080B publication Critical patent/CN112685080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种开源组件查重方法,包括:制成多种匹配模板,每一匹配模板包括有若干匹配框,不同匹配模板的匹配框的大小、数量不同;通过各匹配模板的匹配框分别对开源组件进行局部切割,提取开源组件在各匹配模板下的各个局部的特征信息,并保存各个特征信息;采用多种匹配模板之至少一者对对比文件进行局部切割,获得对比文件在该匹配模板下的各个局部的特征信息;对相同匹配模板下的开源组件的特征信息和对比文件的特征信息进行比对获得相似度。本发明既能在一定程度上定位到代码级别,又能综合考量硬件消耗和查重耗时;且可以根据具体应用场景选用对应的匹配模板。另,本发明还公开一种开源组件查重系统、装置及计算机可读存储介质。

Description

开源组件查重方法、系统、装置及可读存储介质
技术领域
本发明涉及数据分析及处理技术领域,尤其涉及一种开源组件查重方法、系统、装置及计算机可读存储介质。
背景技术
为避免知识产权纠纷,在使用开源组件前,需要对开源组件进行查重。现阶段,对于开源组件的查重,主要有以下两种方式:方式一、逐行匹配代码,该方式可以定位到代码级别,具有较高的查重精准度;但由于开源库的代码量巨大,为了提升匹配效率,通常会采用加载内存的方式来操作,这就导致了对硬件的消耗过大和匹配耗时过长的问题。方式二、通过文件本身的hash值或者md5来进行文件级别匹配,该方式匹配速度快,但由于无法定位到代码级别,查重的精准度低。
发明内容
本发明的目的在于提供一种开源组件查重方法、系统、装置及存储介质,以根据具体应用场景更好地兼顾查重精准度、硬件消耗及查重耗时。
为实现上述目的,本发明提供了一种开源组件查重方法,用以判断开源组件与外部对比文件的相似度。该查重方法包括:
制成多种匹配模板,每一所述匹配模板包括有若干匹配框,不同匹配模板的匹配框的大小、数量不同;
通过各匹配模板的匹配框分别对开源组件进行局部切割,提取开源组件在各匹配模板下的各个局部的特征信息,并保存通过各个匹配模板提取到的各个特征信息;
采用所述多种匹配模板之至少一者对对比文件进行局部切割,获得所述对比文件在该匹配模板下的各个局部的特征信息;
对相同匹配模板下的所述开源组件的特征信息和所述对比文件的特征信息进行比对获得所述相似度。
较佳地,预先设定多种阈值,基于各个阈值分别制成对应的一匹配模板,所述阈值越大,所述匹配框越小,所述匹配模板中的匹配框的数量和密度越大;所述阈值越小,所述匹配框越大,所述匹配模板中的匹配框的数量和密度越小。
较佳地,所述阈值的取值为[0,1]。
较佳地,所述“采用所述多种匹配模板之至少一者对对比文件进行局部切割”具体为:选择所述多种阈值中的至少一种;根据该阈值调用对应的匹配模板对对比文件进行局部分隔。
较佳地,所述“对相同匹配模板下的所述开源组件的特征信息和所述对比文件的特征信息进行比对获得所述相似度”具体为:比对所述开源组件和所述对比文件各个相同局部的特征信息是否相同;求比对结果为相同的局部的数目;计算比对结果为相同的局部的数目占总比对数目的比例,该比例即为所述相似度。
为实现上述目的,本发明还提供了一种开源组件查重系统,用以判断开源组件与外部对比文件的相似度。该查重系统包括模板生成模块、特征提取模块以及比对模块,所述模板生成模块用于制成多种匹配模板,每一所述匹配模板包括有若干匹配框,不同匹配模板的匹配框的大小、数量不同。所述特征提取模块用于通过各匹配模板的匹配框分别对开源组件进行局部切割,提取开源组件在各匹配模板下的各个局部的特征信息,并保存各个特征信息;及采用所述多种匹配模板之至少一者对对比文件进行局部切割,获得所述对比文件在该匹配模板下的各个局部的特征信息。所述比对模块用于对相同匹配模板下的所述开源组件的特征信息和所述对比文件的特征信息进行比对获得所述相似度。
较佳地,所述模板生成模块预先设定有多种阈值,所述模板生成模块基于各个阈值分别制成对应的一匹配模板,所述阈值越大,所述匹配框越小,所述匹配模板中的匹配框的数量和密度越大;所述阈值越小,所述匹配框越大,所述匹配模板中的匹配框的数量和密度越小。
较佳地,所述比对模块通过以下步骤获得所述相似度:比对所述开源组件和所述对比文件各个相同局部的特征信息是否相同;求比对结果为相同的局部的数目;计算比对结果为相同的局部的数目占总比对数目的比例,该比例即为所述相似度。
为实现上述目的,本发明还提供了一种开源组件查重装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时,执行如上所述的开源组件查重方法。
为实现上述目的,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被处理器执行以完成如上所述的开源组件查重方法。
与现有技术相比,本发明是通过匹配模板将待查重文件(开源组件、对比文件)进行局部切割,然后进行特征信息提取,最后对在开源组件和对比文件中提取到的特征信息进行比对得到相似度,既能够在一定程度上定位到代码级别,又能综合考量硬件消耗和查重耗时;而且,由于可以根据具体应用场景选用对应的匹配模板,在一定程度上也提高了查重灵活度和实现了查重优化,可以更好地兼顾查重精准度、硬件消耗及查重耗时。此外,本发明的程序实现简单,通俗易懂。
附图说明
图1为本发明开源组件查重方法一实施例的流程图。
图2为本发明实施例利用匹配模板对文件进行局部切割的示意图。
图3为本发明实施例比对开源组件和对比文件的特征信息时的示意图。
图4为本发明实施例开源组件查重系统的组成框图。
图5为本发明开源组件查重装置一实施例的结构框图。
具体实施方式
为了详细说明本发明的技术内容、构造特征,以下结合具体实施方式并配合附图作进一步说明。
本发明一实施例提供了一种开源组件查重方法,用以判断开源组件与外部对比文件的相似度。如图1所示,该查重方法包括以下步骤:
S101,制成多种匹配模板201,每一匹配模板201包括有若干匹配框202,同一匹配模板201中的各个匹配框202相同,不同匹配模板201的匹配框202的大小、数量及密度不同。
S102,通过各匹配模板201的匹配框202分别对开源组件进行局部切割(如图2所示),即是,通过匹配框202框中开源组件中的多个局部;然后提取开源组件在各匹配模板201下的各个局部的特征信息,并保存通过各个匹配模板201提取到的各个特征信息。其中,匹配框202为矩形框,匹配框202在开源组件中所框中的局部所包含的信息即为待提取的信息。特征信息为代表该局部所包含的代码块的信息,其可以为该局部的代码块所对应的二进制,也可以为代码块本身。提取到的特征信息可以是形成文件保存在数据库中,在每次启动查重时,再自动将特征信息加载到内存中以调用,当然,提取的特征信息也可以是保存到本地内存。
S103,采用多种匹配模板201之至少一者对对比文件进行局部切割,获得对比文件在该匹配模板201下的各个局部的特征信息。与开源组件相同的,对比文件的局部的特征信息也是可以为该局部的代码块所对应的二进制,也可以为代码块本身。
S104,对相同匹配模板201下的开源组件的特征信息和对比文件的特征信息进行比对获得相似度。具体的,遍历对比文件的特征信息文件和内存中的特征信息文件,一一比对匹配模板201的匹配框202在开源组件和对比文件切割出的两个对应局部的特征信息,综合所有局部的特征信息比对结果获得前述相似度。
在该实施例中,所述“对相同匹配模板201下的开源组件的特征信息和对比文件的特征信息进行比对获得相似度”具体为:比对开源组件和对比文件各个相同局部(即在开源组件和对比文件中坐标相同的局部区域)的特征信息是否相同;求比对结果为相同的局部的数目;计算比对结果为相同的局部的数目占总比对数目的比例,该比例即为相似度。例如,图3所示实施例中,开源组件(图3中标示为A文件)和对比文件(图3中标示为B文件)采用的匹配模板201包括有八个匹配框(序号为1-8),分别对序号相同的匹配框在开源组件、对比文件中框中的局部所提取的两代码块进行比对,通过比对发现,开源组件和对比文件中对于匹配框4和匹配框8对应的局部所提取的代码块(特征信息)不同,而另外六个匹配框对应的局部所提取的代码块相同,此时,相似度即为75%。
在一实施例中,预先设定了多种阈值,基于各个阈值分别制成对应的一匹配模板201。例如,基于第一阈值生成第一个匹配模板,基于第二阈值生成第二个匹配模板,阈值越大,匹配框202越小,匹配模板201中的匹配框202的数量和密度越大,此时,利用该阈值提取到的特征信息随机性越强,查重精准度也就越高,所需耗费的时间也就越长;而阈值越小,匹配框202越大,匹配模板201中的匹配框202的数量和密度越小,此时,利用该阈值提取到的特征信息也就越少,查重精准度也就越低,所需耗费的时间也就较短。其中,阈值的取值为[0,1],通过选择相应的阈值来限制匹配模板201的复杂程度,例如,如果在一些应用场景下,是希望精准度更高,定位更好,而不注重时效,那么可以设置阈值无限为1,此时,生成的匹配模板201等价于与原本的开源组件/对比文件的所有的代码匹配。而在一些更注重时效,不注重查重精准度的情况下,可以设置阈值为0,此时,则只生成一个最简单的匹配。举例而言,在一实施例中,阈值可以选择0.2、0.6、0.8等任意组合,生成对应阈值0.2、0.6、0.8的匹配框202坐标集合,然后形成分别对应阈值0.2、0.6、0.8的匹配模板文件M-0.2、M-0.6、M-0.8,然后再采用M-0.2、M-0.6、M-0.8分别对开源组件进行特征提取获得开源组件在匹配模板M-0.2、M-0.6、M-0.8下的特征信息;在需要进行查重时,根据实际应用场景选择其中一种匹配模板201,例如选择匹配模板M-0.6对对比文件进行特征提取,然后调取开源组件在使用匹配模板M-0.6时获得的特征信息,将该特征信息与对比文件的特征信息进行比对获得相似度。
当然,在一些实施例中,对于同一开源组件/对比文件,也可以采用两个及以上的匹配模板201对开源组件/对比文件进行局部切割和特征提取,例如,选用M-0.2、M-0.6、M-0.8分别对对比文件进行局部切割和特征提取,然后综合开源组件和对比文件在M-0.2、M-0.6、M-0.8三个匹配模板下的相似度来获得最终的相似度比对结果,例如,对不同匹配模板M-0.2、M-0.6、M-0.8下获得的相似度进行加权计算、取均值等获得最终的相似度。
具体的,在该实施例中,所述“采用多种匹配模板201之至少一者对对比文件进行局部切割”具体为:选择多种阈值中的至少一种;根据该阈值调用对应的匹配模板201对对比文件进行局部分隔。
本发明一实施例提供了一种开源组件查重系统300,用以判断开源组件与外部对比文件的相似度。如图4所示,该查重系统300包括模板生成模块310、特征提取模块320以及比对模块330。其中,模板生成模块310用于制成多种匹配模板201,每一匹配模板201包括有若干匹配框202,同一匹配模板201中的各个匹配框202相同,不同匹配模板201的匹配框202的大小、数量不同。特征提取模块320用于通过各匹配模板201的匹配框202分别对开源组件进行局部切割(如图2所示),即是,通过匹配框202框中开源组件中的多个局部;然后,提取开源组件在各匹配模板201下的各个局部的特征信息,并保存通过各个匹配模板201提取到的各个特征信息;然后再采用多种匹配模板201之至少一者对对比文件进行局部切割,获得对比文件在该匹配模板201下的各个局部的特征信息。其中,匹配框202为矩形框,匹配框202在开源组件中所框中的局部所包含的信息即为待提取的信息。特征信息为代表该局部所包含的代码块的信息,其可以为该局部的代码块所对应的二进制,也可以为代码块本身。提取到的特征信息可以是形成文件保存在数据库中,在每次启动查重时,再自动将特征信息加载到内存中以调用,当然,提取的特征信息也可以是保存到本地内存。与开源组件相同的,对比文件的局部的特征信息也是可以为该局部的代码块所对应的二进制,也可以为代码块本身。比对模块330用于对相同匹配模板201下的开源组件的特征信息和对比文件的特征信息进行比对获得相似度。
在一实施例中,模板生成模块310预先设定有多种阈值,模板生成模块310基于各个阈值制成对应的匹配模板201。例如,基于第一阈值生成第一个匹配模板,基于第二阈值生成第二个匹配模板,阈值越大,匹配框202越小,匹配模板201中的匹配框202的数量和密度越大,此时,利用该阈值提取到的特征信息的随机性也就越强,查重精准度也就越高,所需耗费的时间也就越长;而阈值越小,匹配框202越大,匹配模板201中的匹配框202的数量和密度越小,此时,利用该阈值提取到的特征信息也就越少,查重精准度也就越低,所需耗费的时间也就较短。其中,阈值的取值为[0,1],通过选择相应的阈值来限制匹配模板201的复杂程度,例如,如果在一些应用场景下,是希望精准度更高,定位更好,而不注重时效,那么可以设置阈值无限为1,此时,生成的匹配模板201等价于与原本的开源组件/对比文件的所有的代码匹配。而在一些更注重时效,不注重查重精准度的情况下,可以设置阈值为0,此时,则只生成一个最简单的匹配。举例而言,在一实施例中,阈值可以选择0.2、0.6、0.8等任意组合,生成对应阈值0.2、0.6、0.8的匹配框坐标集合,然后形成分别对应阈值0.2、0.6、0.8的匹配模板文件M-0.2、M-0.6、M-0.8,然后再采用M-0.2、M-0.6、M-0.8分别对开源组件进行特征提取获得开源组件在匹配模板M-0.2、M-0.6、M-0.8下的特征信息;在需要进行查重时,根据实际应用场景选择其中一种匹配模板,例如选择匹配模板M-0.6对对比文件进行特征提取,然后调取开源组件在使用匹配模板M-0.6时获得的特征信息,将该特征信息与对比文件的特征信息进行比对获得相似度。
当然,在一些实施例中,对于同一开源组件/对比文件,也可以采用两个及以上的匹配模板201对开源组件/对比文件进行局部切割和特征提取,例如,选用M-0.2、M-0.6、M-0.8分别对对比文件进行局部切割和特征提取,然后综合开源组件和对比文件在M-0.2、M-0.6、M-0.8三个匹配模板下的相似度来获得最终的相似度比对结果,例如,对不同匹配模板M-0.2、M-0.6、M-0.8下获得的相似度进行加权计算、取均值等获得最终的相似度。
具体的,在该实施例中,比对模块330通过以下步骤获得相似度:比对开源组件和对比文件各个相同局部(即在开源组件和对比文件中坐标相同的局部区域)的特征信息是否相同;求比对结果为相同的局部的数目;计算比对结果为相同的局部的数目占总比对数目的比例,该比例即为相似度。例如,图3所示实施例中,开源组件(图3中标示为A文件)和对比文件(图3中标示为B文件)采用的匹配模板201包括有八个匹配框(序号为1-8),分别对序号相同的匹配框在开源组件、对比文件中框中的局部所提取的两代码块进行比对,通过比对发现,开源组件和对比文件中对于匹配框4和匹配框8对应的局部所提取的代码块(特征信息)不同,而另外六个匹配框对应的局部所提取的代码块相同,此时,相似度即为75%。
请参阅图5,本发明还公开一种开源组件查重装置400,其包括处理器410、存储器420以及存储在存储器420中且被配置为由处理器410执行的计算机程序430,处理器410执行计算机程序430时,执行上述的开源组件查重方法。
本发明对待查重文件(开源组件、对比文件)采用同样处理方式后的特征信息进行比对得到相似度,具体是通过匹配模板201将待查重文件(开源组件、对比文件)进行局部切割,然后进行特征信息提取,最后对在开源组件和对比文件中提取到的特征信息进行比对得到相似度,既能够在一定程度上定位到代码级别,又能综合考量硬件消耗和查重耗时,给使用人员带来了更多的可能性。而且,由于可以根据具体应用场景选用对应的匹配模板201,在一定程度上也提高了查重灵活度和实现了查重优化,可以更好地兼顾查重精准度、硬件消耗及查重耗时,从而可以实现在具有较高的查重精准度的同时消耗更少的硬件内存,减少硬件成本以及缩减查重耗时。此外,本发明的程序实现简单,通俗易懂。
以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。

Claims (10)

1.一种开源组件查重方法,用以判断开源组件与外部对比文件的相似度,其特征在于,该查重方法包括:
制成多种匹配模板,每一所述匹配模板包括有若干匹配框,不同匹配模板的匹配框的大小、数量不同;
通过各匹配模板的匹配框分别对开源组件进行局部切割,提取开源组件在各匹配模板下的各个局部的特征信息,并保存通过各个匹配模板提取到的各个特征信息;
采用所述多种匹配模板之至少一者对对比文件进行局部切割,获得所述对比文件在该匹配模板下的各个局部的特征信息;
对相同匹配模板下的所述开源组件的特征信息和所述对比文件的特征信息进行比对获得所述相似度。
2.如权利要求1所述的开源组件查重方法,其特征在于,预先设定多种阈值,基于各个阈值分别制成对应的一匹配模板,所述阈值越大,所述匹配框越小,所述匹配模板中的匹配框的数量和密度越大;所述阈值越小,所述匹配框越大,所述匹配模板中的匹配框的数量和密度越小。
3.如权利要求2所述的开源组件查重方法,其特征在于,所述阈值的取值为[0,1]。
4.如权利要求2所述的开源组件查重方法,其特征在于,所述“采用所述多种匹配模板之至少一者对对比文件进行局部切割”具体为:
选择所述多种阈值中的至少一种;
根据该阈值调用对应的匹配模板对对比文件进行局部分隔。
5.如权利要求1所述的开源组件查重方法,其特征在于,所述“对相同匹配模板下的所述开源组件的特征信息和所述对比文件的特征信息进行比对获得所述相似度”具体为:
比对所述开源组件和所述对比文件各个相同局部的特征信息是否相同;
求比对结果为相同的局部的数目;
计算比对结果为相同的局部的数目占总比对数目的比例,该比例即为所述相似度。
6.一种开源组件查重系统,用以判断开源组件与外部对比文件的相似度,其特征在于,该查重系统包括:
模板生成模块,用于制成多种匹配模板,每一所述匹配模板包括有若干匹配框,不同匹配模板的匹配框的大小、数量不同;
特征提取模块,用于通过各匹配模板的匹配框分别对开源组件进行局部切割,提取开源组件在各匹配模板下的各个局部的特征信息,并保存各个特征信息;及采用所述多种匹配模板之至少一者对对比文件进行局部切割,获得所述对比文件在该匹配模板下的各个局部的特征信息;以及
比对模块,用于对相同匹配模板下的所述开源组件的特征信息和所述对比文件的特征信息进行比对获得所述相似度。
7.如权利要求6所述的开源组件查重系统,其特征在于,所述模板生成模块预先设定有多种阈值,所述模板生成模块基于各个阈值分别制成对应的一匹配模板,所述阈值越大,所述匹配框越小,所述匹配模板中的匹配框的数量和密度越大;所述阈值越小,所述匹配框越大,所述匹配模板中的匹配框的数量和密度越小。
8.如权利要求6所述的开源组件查重系统,其特征在于,所述比对模块通过以下步骤获得所述相似度:
比对所述开源组件和所述对比文件各个相同局部的特征信息是否相同;
求比对结果为相同的局部的数目;
计算比对结果为相同的局部的数目占总比对数目的比例,该比例即为所述相似度。
9.一种开源组件查重装置,其特征在于,包括:
处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时,执行如权利要求1至5任一项所述的开源组件查重方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被处理器执行以完成如权利要求1至5任一项所述的开源组件查重方法。
CN202110028472.8A 2021-01-08 2021-01-08 开源组件查重方法、系统、装置及可读存储介质 Active CN112685080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110028472.8A CN112685080B (zh) 2021-01-08 2021-01-08 开源组件查重方法、系统、装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110028472.8A CN112685080B (zh) 2021-01-08 2021-01-08 开源组件查重方法、系统、装置及可读存储介质

Publications (2)

Publication Number Publication Date
CN112685080A true CN112685080A (zh) 2021-04-20
CN112685080B CN112685080B (zh) 2023-08-11

Family

ID=75457072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110028472.8A Active CN112685080B (zh) 2021-01-08 2021-01-08 开源组件查重方法、系统、装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN112685080B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101405A (ja) * 1999-09-30 2001-04-13 Matsushita Electric Ind Co Ltd 画像認識方法及び画像認識装置
US20100202705A1 (en) * 2009-02-09 2010-08-12 Takahiro Fukuhara Image comparing apparatus and method therefor, image retrieving apparatus as well as program and recording medium
CN105426711A (zh) * 2015-11-18 2016-03-23 北京理工大学 一种计算机软件源代码相似度检测方法
CN106294139A (zh) * 2016-08-02 2017-01-04 上海理工大学 一种软件代码中重复片段的检测提取方法
CN107688748A (zh) * 2017-09-05 2018-02-13 中国人民解放军信息工程大学 基于漏洞指纹的脆弱性代码克隆检测方法及其装置
CN109359183A (zh) * 2018-10-11 2019-02-19 南京中孚信息技术有限公司 文本信息的查重方法、装置及电子设备
US20190102165A1 (en) * 2017-09-29 2019-04-04 Insignary Inc. Method and system for identifying open-source software package based on binary files
CN112001376A (zh) * 2020-10-29 2020-11-27 深圳开源互联网安全技术有限公司 基于开源组件的指纹识别方法、装置、设备及存储介质
CN112148305A (zh) * 2020-10-28 2020-12-29 腾讯科技(深圳)有限公司 一种应用检测方法、装置、计算机设备和可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101405A (ja) * 1999-09-30 2001-04-13 Matsushita Electric Ind Co Ltd 画像認識方法及び画像認識装置
US20100202705A1 (en) * 2009-02-09 2010-08-12 Takahiro Fukuhara Image comparing apparatus and method therefor, image retrieving apparatus as well as program and recording medium
CN105426711A (zh) * 2015-11-18 2016-03-23 北京理工大学 一种计算机软件源代码相似度检测方法
CN106294139A (zh) * 2016-08-02 2017-01-04 上海理工大学 一种软件代码中重复片段的检测提取方法
CN107688748A (zh) * 2017-09-05 2018-02-13 中国人民解放军信息工程大学 基于漏洞指纹的脆弱性代码克隆检测方法及其装置
US20190102165A1 (en) * 2017-09-29 2019-04-04 Insignary Inc. Method and system for identifying open-source software package based on binary files
CN109359183A (zh) * 2018-10-11 2019-02-19 南京中孚信息技术有限公司 文本信息的查重方法、装置及电子设备
CN112148305A (zh) * 2020-10-28 2020-12-29 腾讯科技(深圳)有限公司 一种应用检测方法、装置、计算机设备和可读存储介质
CN112001376A (zh) * 2020-10-29 2020-11-27 深圳开源互联网安全技术有限公司 基于开源组件的指纹识别方法、装置、设备及存储介质

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
_HAIL_: "几种相似度计算代码", pages 1 - 2 *
HAOXIN WANG等: "A Duplicate Code Checking Algorithm for the Programming Experiment", pages 39 - 42 *
冯振扬: "代码相似度检测算法的研究与实现", pages 138 - 522 *
胡正军: "程序代码相似度检测方法研究及应用", pages 138 - 1087 *
蒋佳洲: "基于SolrCloud的分布式相似性检测系统", no. 10, pages 79 - 83 *
郭颖等: "大规模代码克隆的检测方法", 计算机科学与探索, no. 04, pages 417 - 426 *

Also Published As

Publication number Publication date
CN112685080B (zh) 2023-08-11

Similar Documents

Publication Publication Date Title
US10650274B2 (en) Image clustering method, image clustering system, and image clustering server
CN108073815B (zh) 基于代码切片的家族判定方法、系统及存储介质
CN110851675B (zh) 一种数据提取方法、装置及介质
CN111353062A (zh) 一种图像检索方法、装置以及设备
US20200125532A1 (en) Fingerprints for open source code governance
CN117376632B (zh) 基于智能深度合成的数据恢复方法和系统
CN111562920A (zh) 小程序代码相似度确定方法、装置、服务器及存储介质
CN111831920A (zh) 用户需求分析方法、装置、计算机设备及存储介质
CN111258905A (zh) 缺陷定位方法、装置和电子设备及计算机可读存储介质
CN114398315A (zh) 一种数据存储方法、系统、存储介质及电子设备
CN113821630B (zh) 一种数据聚类的方法和装置
CN111026736B (zh) 数据血缘管理方法及装置、数据血缘解析方法及装置
CN116226681B (zh) 一种文本相似性判定方法、装置、计算机设备和存储介质
CN112685080B (zh) 开源组件查重方法、系统、装置及可读存储介质
CN111178037A (zh) 重复缺陷报告识别方法、装置及电子设备
CN111368128A (zh) 目标图片的识别方法、装置和计算机可读存储介质
CN113986762A (zh) 一种测试用例的生成方法及装置
CN113992730A (zh) 一种基于知识构建的用户行为模拟方法、模拟系统、定制系统、计算机及存储介质
CN110414845B (zh) 针对目标交易的风险评估方法及装置
CN114385231A (zh) 数据处理方法、装置、存储介质及电子设备
CN112818347A (zh) 一种文件标签确定方法、装置、设备及存储介质
CN115952172B (zh) 一种基于数据库临时表的数据匹配方法及装置
CN113792247B (zh) 基于代码特征生成功能流程图的方法、装置、设备和介质
CN115774565B (zh) 一种单代码仓库建设方法及系统及装置及介质
CN117112846B (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
GR01 Patent grant
GR01 Patent grant