CN103020494B - 一种利用程序代码编程模式著作权归属检测模型检测著作权归属的方法 - Google Patents
一种利用程序代码编程模式著作权归属检测模型检测著作权归属的方法 Download PDFInfo
- Publication number
- CN103020494B CN103020494B CN201210508663.5A CN201210508663A CN103020494B CN 103020494 B CN103020494 B CN 103020494B CN 201210508663 A CN201210508663 A CN 201210508663A CN 103020494 B CN103020494 B CN 103020494B
- Authority
- CN
- China
- Prior art keywords
- programming mode
- copyright ownership
- program code
- serial
- code
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
一种利用程序代码编程模式著作权归属检测模型检测著作权归属的方法,它涉及一种编程模式的程序代码著作权归属检测方法。本发明的目的是要解决现在的程序代码雷同检测方法和工具存在不能有效提取大规模程序集合中的编程模式,以及不考虑每个作者的历史数据,无法判定程序代码的著作权归属的问题。著作权归属检测方法:以待确认著作权归属的程序代码作为程序代码的编程模式的查询程序代码输入,即可得到著作权归属度列表。本发明主要提供一种著作权归属的检测方法。
Description
技术领域
本发明涉及一种编程模式的程序代码著作权归属检测方法。
背景技术
程序代码编程模式及著作权归属检测方法在教育领域和软件开发领域,如程序代码抄袭检测,软件版权侵犯、著作权纠纷的判定,以及软件维护,都有着重要的应用。
现今在计算机教学中,尤其是在程序类课程设计中,大量存在着抄袭他人作业或者作品的行为。在完成上机编程任务或者在编程训练考核中,被考核者抄袭他人程序代码后,稍作修改甚至不做任何修改便拿来作为自主设计作品提交;或者在网络上搜索他人已有的算法代码,“复制-粘贴”到自己的程序中,这些学生程序设计中存在的抄袭现象是产生雷同代码的一个重要原因。
除了学生程序设计中存在的抄袭现象产生的雷同代码之外,软件企业中的未经授权的代码重用也受到密切关注。由于一些软件功能之间存在的共通性,使得某些软件企业也存在程序代码的非授权使用的现象,因此大型软件系统中时有发生的抄袭、雷同现象,导致了软件侵权案的不断发生,给正当软件公司造成了严重的影响和危害。
无论是针对学生程序还是企业开发的软件,采用人工的方法去查找雷同代码,采用很费时,特别是程序非常多、或程序规模很大时,很难度量抄袭行为性质以及程度。判定程序代码的著作权归属,即判定程序代码的真正作者,就更加困难了。因此,提供自动的程序代码代码的雷同检测及著作权归属判定具有重要的意义。
同一个作者,或同一个企业的软件开发人员,由于编程习惯或软件开发实践(如重用通用的框架、遵循特定的编程模式、以及拷贝-粘贴代码),在解决同一类问题时,通常在编程过程中遵循特定的编程模式(如关键字、程序结构、处理思路等),因此,在同一种编程语言解决类似问题时,会产生类似的程序代码。软件维护中,开发人员修改了一段代码,同样需要对与该代码有相同编程模式的程序代码片段进行相似的修改,而开发人员很可能忽略了这些代码片段。自动查找相似编程模式则可以有效缓解上述问题。
雷同代码由于存在抄袭现象,因此也具有相似的编程模式,挖掘两个代码集合中的相似的编程模式,则可以检测出这两个代码集合中的雷同代码。此外,如果能够自动挖掘已知作者来源的程序代码集合中的编程模式,则可以为著作权归属判定提供有效依据。如果给定代码与某个作者的编程模式一致,则可能是该作者的代码。
综上所述,如果能够自动提取程序代码中的编程模式,则可为程序代码的雷同检测、软件维护、以及程序代码的著作权归属判定奠定基础。
目前已有很多关于自然语言雷同文本的方法和工具,如Turnitin,但是这些方法和工具因忽视了程序代码的编程语法,而不适合于分析程序代码。
目前也有一些检测程序代码中的雷同代码的方法和工具。主要方法有属性计数法和结构度量方法。
属性计数法计算每一个程序的n个不同的软件度量指标(如控制流、结构、数据依赖、嵌套深度、控制结构等),以便于将程序映射到一个n维的笛卡尔空间,然后考虑彼此邻近的程序组可能为雷同程序。该方法存在的不足之处是:抛弃了太多的程序结构信息,导致错误率太高,难于分析大规模程序;也无法有效检测增加或删除了部分语句的相似代码。
结构度量方法,如SIM,JPlag和MOSS等系统,在检测雷同代码时考虑了程序的结构信息。但存在以下不足之处:通常检测每一对程序的相似度来发现剽窃行为的,而不能有效定位出大规模程序集合中雷同的程序代码片段;SIM,JPlag具有较高的计算复杂度无法分析大规模程序代码。
无论是属性计数法还是结构度量(structure metrics)方法,均无法自动提取程序中的编程模式,均不考虑每个作者(程序开发人员或软件公司)的历史数据(已知作者来源的程序代码),即使检测出雷同代码,也无法进一步判断雷同代码的著作权归属,即代码的真正作者。因此现在的程序代码雷同检测方法和工具存在不能有效提取大规模程序集合中的编程模式,以及不考虑每个作者的历史数据,无法判定程序代码的著作权归属的问题。
发明内容
本发明的目的是要解决现在的程序代码雷同检测方法和工具存在不能有效提取大规模程序集合中的编程模式,以及不考虑每个作者的历史数据,无法判定程序代码的著作权归属的问题,从而提出一种利用程序代码编程模式著作权归属检测模型检测著作权归属的方法。
一种程序代码编程模式著作权归属检测模型由已知著作权归属的程序代码库、查询程序代码、编程模式及其索引文件、编程模式挖掘器、著作权归属分析器和著作权归属度列表组成;所述的编程模式挖掘器对所述的已知著作权归属的程序代码库进行分析和转换生成所述的编程模式及其索引文件,所述的著作权归属分析器对所述的查询程序代码进行分析,并在所述的编程模式及其索引文件中进行索引生成所述的著作权归属度列表。
一种利用程序代码编程模式著作权归属检测模型的著作权归属检测方法,具体是按以下步骤完成的:一、首先利用编程模式挖掘器中词法解析器对已知著作权归属的程序代码库中的程序代码进行解析,生成标准化的token串;二、采用编程模式挖掘器中数字序列转换器对标准化的token串执行字符串散列,计算所对应的hash值,将标准化的token串转换为一个数字序列,然后划分数字序列,将其转换为序列数据库;三、利用编程模式挖掘器中频繁编程模式挖掘器对序列数据库执行闭合频繁子序列挖掘,频繁编程模式挖掘器应用改进的BIDE数据挖掘算法,挖掘支持度大于2的频繁子序列,所述的频繁子序列对应于至少出现两次的编程模式;四、利用编程模式挖掘器中编程模式索引分析器分析挖掘出的支持度大于2的频繁编程模式,建立倒排索引文件,并将编程模式和倒排索引文件信息存入数据库中,生成编程模式及其索引文件;五、以待确认著作权归属的程序代码作为查询程序代码,利用查询代码编程模式解析器根据查询程序代码提供的信息进行分析和数字序列转换,生成标准化的token串,再对标准化的token串执行字符串散列,计算所对应的hash值,将标准化的token串转换为一个数字序列,得到的数字序列即为编程模式,划分数字序列,将其转换为数字序列集合,对生成的数字序列集合进一步分析,判定该数字序列集合中是否含有相同的数字序列,如果存在含有相同的数字序列,则去除重复的数字序列,进而得到无重复的编程模式集合,如果不存在含有相同的数字序列,则直接得到无重复的编程模式集合;六、利用著作权归属度计算器根据无重复的编程模式集合在编程模式及其索引文件进行检索,得出无重复的编程模式集合在编程模式及其索引文件中出现的频度,然后按公式计算著作权归属度,计算出著作权归属度后即输出所述的著作权归属度列表;步骤六中所述的中Aj是查询代码对第j个作者代码集合的著作权归属度,Fi,j是查询代码中第i个模式在第j个作者代码集合中出现的频度,Locj是第j个作者程序代码集合中源代码行数,N为查询模式块的个数,M为作者个数。
本发明优点:一、本发明所述的程序代码编程模式著作权归属检测模型可以自动挖掘程序代码集合中的相似编程模式,减少人工参与的程度,可应用于检测雷同代码,还可以应用于辅助软件维护;二、本发明利用程序代码编程模式著作权归属检测模型的著作权归属检测方法,可以根据编程模式,有效分析给定查询程序代码的著作权归属,可以有效应用于程序代码抄袭检测,软件版权侵犯、著作权纠纷的判定、和软件维护中,因此本发明具有很好的推广应用前景。
附图说明
图1是具体实施方式一所述程序代码编程模式著作权归属检测模型的总体构建及工作流程示意图;图2是具体实施方式二所述编程模式挖掘器的流程图;图3是具体实施方式三所述著作权归属分析器的流程图。
具体实施方式
具体实施方式一:结合图1,本实施方式是一种程序代码编程模式著作权归属检测模型,由已知著作权归属的程序代码库、查询程序代码、编程模式及其索引文件、编程模式挖掘器、著作权归属分析器和著作权归属度列表组成;所述的编程模式挖掘器对所述的已知著作权归属的程序代码库进行分析和转换生成所述的编程模式及其索引文件,所述的著作权归属分析器对所述的查询程序代码进行分析,并在所述的编程模式及其索引文件中进行索引生成所述的著作权归属度列表。
本实施方式所述的查询程序代码为待确认著作权归属的程序代码。
本实施方式所述的程序代码的编程模式可以自动挖掘程序代码集合中的相似编程模式,减少人工参与的程度,可应用于检测雷同代码,还可以应用于辅助软件维护。
具体实施方式二:本实施方式与具体实施方式一的不同点是:所述的已知著作权归属的程序代码库由程序代码的著作权归属集合构成。其他与具体实施方式一相同。
本实施方式所述的程序代码的著作权归属为程序代码属于哪个作者、程序代码属于哪个软件开发人员或程序代码属于哪个企业。
具体实施方式三:结合图1和图2,本实施方式与具体实施方式一或二之一不同点是:所述的编程模式挖掘器由词法解析器、数字序列转换器、数字序列转换器、频繁编程模式挖掘器和编程模式索引分析器组成,利用词法解析器对所述的已知著作权归属的程序代码库中的程序代码进行解析,生成标准化的token串,采用数字序列转换器对标准化的token串执行字符串散列,计算所对应的hash值,将标准化的token串转换为一个数字序列,得到的数字序列即为编程模式,划分数字序列,将其转换为序列数据库,利用频繁编程模式挖掘器对序列数据库执行闭合频繁子序列挖掘,频繁编程模式挖掘器应用改进的BIDE数据挖掘算法,挖掘支持度大于2的频繁子序列,所述的频繁子序列对应于至少出现两次的编程模式,编程模式索引分析器分析挖掘出的支持度大于2的频繁编程模式,建立倒排索引文件,并将编程模式和倒排索引文件信息存入数据库中,生成所述的编程模式及其索引文件。其他与具体实施方式一或二相同。
本实施方式所述的词法解析器改进了传统的词法分析器,使之能够适用于编程模式检测,增加对token字的标准化操作,在词法分析基础上仅保留空格、运算符、关键字,将某些类型相似的标识符映射为相同的token字,将函数名、变量名、变量的值都映射为相同的token字。
本实施方式所述的数字序列转换器根据源程序中的语法规则,以满足指定代码块规模的基本的程序块为单位将数字序列划分为若干段,生成一个序列数据库,以基本块为单位生成序列数据库,一方面可以应用于后续的挖掘算法,另一方面避免了规模过小的模式碎片的产生。
本实施方式所述的编程模式索引分析器采用倒排索引的方式组织索引信息,每个倒排索引条目由编程模式、该模式出现的频度、以及该模式在各个作者程序代码集合中出现的次数构成。
BIDE是一种高效的用于查找序列数据库中的频繁闭合序列模式的方法。它是JianyongWang等人在IEEE Transactions on Knowledge ad Data Engineering(2007,19(8):1042-1056)中发表的Frequent Closed Sequence Mining without Candidate Maintenance中提出的。
具体实施方式四:本实施方式与具体实施方式一至三之一不同点是:所述的改进的BIDE数据挖掘算法是对BIDE算法进行了如下改进:一、设置gap阈值和密度阈值,序列挖掘中允许序列中插入gap,使得算法可以检测插入或删除了部分语句的编程模式;二、研究将频繁序列挖掘得到的数字序列结果与程序代码相映射的方法,使得算法可以准确定位程序代码。其他与具体实施方式一至三相同。
具体实施方式五:结合图1和图3,本实施方式与具体实施方式一至四之一不同点是:所述的著作权归属分析器由查询代码编程模式解析器和著作权归属度计算器组成,查询代码编程模式解析器根据所述的查询程序代码提供的信息进行分析和数字序列转换,生成标准化的token串,再对标准化的token串执行字符串散列,计算所对应的hash值,将标准化的token串转换为一个数字序列,然后划分数字序列,将其转换为数字序列集合,对生成的数字序列集合进一步分析,判定该数字序列集合中是否含有相同的数字序列,如果存在含有相同的数字序列,则去除重复的数字序列,进而得到无重复的编程模式集合,如果不存在含有相同的数字序列,则直接得到无重复的编程模式集合;利用著作权归属度计算器根据无重复的编程模式集合在编程模式及其索引文件进行检索,得出无重复的编程模式集合在编程模式及其索引文件中出现的频度,然后按公式计算著作权归属度,计算出著作权归属度后即输出所述的著作权归属度列表;所述的中Aj是查询代码对第j个作者代码集合的著作权归属度,Fi,j是查询代码中第i个模式在第j个作者代码集合中出现的频度,Locj是第j个作者程序代码集合中源代码行数,N为查询模式块的个数,的M为作者个数。其他与具体实施方式一至四相同。
本实施方式采用计算得到的Aj值越大,则查询代码属于第j个作者的可能性越大。
具体实施方式六:结合图1、图2和图3,本实施方式是一种利用程序代码编程模式著作权归属检测模型的著作权归属检测方法,具体是按以下步骤完成的:一、首先利用编程模式挖掘器中词法解析器对已知著作权归属的程序代码库中的程序代码进行解析,生成标准化的token串;二、采用编程模式挖掘器中数字序列转换器对标准化的token串执行字符串散列,计算所对应的hash值,将标准化的token串转换为一个数字序列,然后划分数字序列,将其转换为序列数据库;三、利用编程模式挖掘器中频繁编程模式挖掘器对序列数据库执行闭合频繁子序列挖掘,频繁编程模式挖掘器应用改进的BIDE数据挖掘算法,挖掘支持度大于2的频繁子序列,所述的频繁子序列对应于至少出现两次的编程模式;四、利用编程模式挖掘器中编程模式索引分析器分析挖掘出的支持度大于2的频繁编程模式,建立倒排索引文件,并将编程模式和倒排索引文件信息存入数据库中,生成编程模式及其索引文件;五、以待确认著作权归属的程序代码作为查询程序代码,利用查询代码编程模式解析器根据查询程序代码提供的信息进行分析和数字序列转换,生成标准化的token串,再对标准化的token串执行字符串散列,计算所对应的hash值,将标准化的token串转换为一个数字序列,得到的数字序列即为编程模式,划分数字序列,将其转换为数字序列集合,对生成的数字序列集合进一步分析,判定该数字序列集合中是否含有相同的数字序列,如果存在含有相同的数字序列,则去除重复的数字序列,进而得到无重复的编程模式集合,如果不存在含有相同的数字序列,则直接得到无重复的编程模式集合;六、利用著作权归属度计算器根据无重复的编程模式集合在编程模式及其索引文件进行检索,得出无重复的编程模式集合在编程模式及其索引文件中出现的频度,然后按公式计算著作权归属度,计算出著作权归属度后即输出所述的著作权归属度列表;步骤六中所述的中Aj是查询代码对第j个作者代码集合的著作权归属度,Fi,j是查询代码中第i个模式在第j个作者代码集合中出现的频度,Locj是第j个作者程序代码集合中源代码行数,N为查询模式块的个数,M为作者个数。
本实施方式所述的词法解析器改进了传统的词法分析器,使之能够适用于编程模式检测,增加对token字的标准化操作,在词法分析基础上仅保留空格、运算符、关键字,将某些类型相似的标识符映射为相同的token字,将函数名、变量名、变量的值都映射为相同的token字。
本实施方式所述的数字序列转换器根据源程序中的语法规则,以满足指定代码块规模的基本的程序块为单位将数字序列划分为若干段,生成一个序列数据库,以基本块为单位生成序列数据库,一方面可以应用于后续的挖掘算法,另一方面避免了规模过小的模式碎片的产生。
本实施方式所述的编程模式索引分析器采用倒排索引的方式组织索引信息,每个倒排索引条目由编程模式、该模式出现的频度、以及该模式在各个作者程序代码集合中出现的次数构成。
本实施方式利用程序代码的编程模式的著作权归属检测方法,可以根据编程模式,有效分析给定查询程序代码的著作权归属,可以有效应用于程序代码抄袭检测,软件版权侵犯、著作权纠纷的判定、和软件维护中,因此本实施方式具有很好的推广应用前景。
具体实施方式七:本实施方式与具体实施方式六的不同点是:步骤一中所述的已知著作权归属的程序代码库由程序代码的著作权归属集合构成。其他与具体实施方式六相同。
本实施方式所述的程序代码的著作权归属为程序代码属于哪个作者、程序代码属于哪个软件开发人员或程序代码属于哪个企业。
具体实施方式八:本实施方式与具体实施方式六或七之一不同点是:步骤三中所述的改进的BIDE数据挖掘算法是对BIDE算法进行了如下改进:一、设置gap阈值和密度阈值,序列挖掘中允许序列中插入gap,使得算法可以检测插入或删除了部分语句的编程模式;二、研究将频繁序列挖掘得到的数字序列结果与程序代码相映射的方法,使得算法可以准确定位程序代码。其他与具体实施方式六或七相同。
Claims (3)
1.一种利用程序代码编程模式著作权归属检测模型检测著作权归属的方法,其特征在于一种利用程序代码编程模式著作权归属检测模型的著作权归属检测方法是按以下步骤完成的:一、首先利用编程模式挖掘器中词法解析器对已知著作权归属的程序代码库中的程序代码进行解析,生成标准化的token串;二、采用编程模式挖掘器中数字序列转换器对标准化的token串执行字符串散列,计算所对应的hash值,将标准化的token串转换为一个数字序列,然后划分数字序列,将其转换为序列数据库;三、利用编程模式挖掘器中频繁编程模式挖掘器对序列数据库执行闭合频繁子序列挖掘,频繁编程模式挖掘器应用改进的BIDE数据挖掘算法,挖掘支持度大于2的频繁子序列,所述的频繁子序列对应于至少出现两次的编程模式;四、利用编程模式挖掘器中编程模式索引分析器分析挖掘出的支持度大于2的频繁编程模式,建立倒排索引文件,并将编程模式和倒排索引文件信息存入数据库中,生成编程模式及其索引文件;五、以待确认著作权归属的程序代码作为查询程序代码,利用查询代码编程模式解析器根据查询程序代码提供的信息进行分析和数字序列转换,生成标准化的token串,再对标准化的token串执行字符串散列,计算所对应的hash值,将标准化的token串转换为一个数字序列,得到的数字序列即为编程模式,划分数字序列,将其转换为数字序列集合,对生成的数字序列集合进一步分析,判定该数字序列集合中是否含有相同的数字序列,如果存在含有相同的数字序列,则去除重复的数字序列,进而得到无重复的编程模式集合,如果不存在含有相同的数字序列,则直接得到无重复的编程模式集合;六、利用著作权归属度计算器根据无重复的编程模式集合在编程模式及其索引文件进行检索,得出无重复的编程模式集合在编程模式及其索引文件中出现的频度,然后按公式计算著作权归属度,计算出著作权归属度后即输出所述的著作权归属度列表;步骤六中所述的中Aj是查询代码对第j个作者代码集合的著作权归属度,Fi,j是查询代码中第i个模式在第j个作者代码集合中出现的频度,Locj是第j个作者程序代码集合中源代码行数,N为查询模式块的个数,M为作者个数。
2.根据权利要求1所述的一种利用程序代码编程模式著作权归属检测模型检测著作权归属的方法,其特征在于步骤一中所述的已知著作权归属的程序代码库由程序代码的著作权归属集合构成。
3.根据权利要求1所述的一种利用程序代码编程模式著作权归属检测模型检测著作权归属的方法,其特征在于步骤三中所述的改进的BIDE数据挖掘算法是对BIDE算法进行了如下改进:一、设置gap阈值和密度阈值,序列挖掘中允许序列中插入gap,使得算法可以检测插入或删除了部分语句的编程模式;二、研究将频繁序列挖掘得到的数字序列结果与程序代码相映射的方法,使得算法可以准确定位程序代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210508663.5A CN103020494B (zh) | 2012-12-03 | 2012-12-03 | 一种利用程序代码编程模式著作权归属检测模型检测著作权归属的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210508663.5A CN103020494B (zh) | 2012-12-03 | 2012-12-03 | 一种利用程序代码编程模式著作权归属检测模型检测著作权归属的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103020494A CN103020494A (zh) | 2013-04-03 |
CN103020494B true CN103020494B (zh) | 2015-06-24 |
Family
ID=47969091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210508663.5A Active CN103020494B (zh) | 2012-12-03 | 2012-12-03 | 一种利用程序代码编程模式著作权归属检测模型检测著作权归属的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103020494B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2728497C1 (ru) * | 2019-12-05 | 2020-07-29 | Общество с ограниченной ответственностью "Группа АйБи ТДС" | Способ и система определения принадлежности программного обеспечения по его машинному коду |
RU2728498C1 (ru) * | 2019-12-05 | 2020-07-29 | Общество с ограниченной ответственностью "Группа АйБи ТДС" | Способ и система определения принадлежности программного обеспечения по его исходному коду |
US11847223B2 (en) | 2020-08-06 | 2023-12-19 | Group IB TDS, Ltd | Method and system for generating a list of indicators of compromise |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102062208B1 (ko) * | 2013-05-03 | 2020-02-11 | 삼성전자주식회사 | 멀티스레드 프로그램 코드의 변환 장치 및 방법 |
CN106951743A (zh) * | 2017-03-22 | 2017-07-14 | 上海英慕软件科技有限公司 | 一种软件代码侵权检测方法 |
CN107844705B (zh) * | 2017-11-14 | 2021-04-02 | 苏州棱镜七彩信息科技有限公司 | 基于二进制代码特征的第三方组件漏洞检测方法 |
RU2680736C1 (ru) | 2018-01-17 | 2019-02-26 | Общество с ограниченной ответственностью "Группа АйБи ТДС" | Сервер и способ для определения вредоносных файлов в сетевом трафике |
CN110321674B (zh) * | 2019-07-12 | 2021-04-06 | 北京智游网安科技有限公司 | 一种基于脚本程序的反调试方法、智能终端及存储介质 |
US11947572B2 (en) | 2021-03-29 | 2024-04-02 | Group IB TDS, Ltd | Method and system for clustering executable files |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1598809A (zh) * | 2004-08-25 | 2005-03-23 | 哈尔滨工业大学 | 程序设计语言编程题自动评分的方法 |
-
2012
- 2012-12-03 CN CN201210508663.5A patent/CN103020494B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1598809A (zh) * | 2004-08-25 | 2005-03-23 | 哈尔滨工业大学 | 程序设计语言编程题自动评分的方法 |
Non-Patent Citations (3)
Title |
---|
Efficient Mining of Gap-Constrained Subsequences and Its Various Applications;CHUN LI,QINGYAN YANG,JIANYONG WANG,MING LI;《ACM Transactions on Knowledge Discovery from Data》;20120331;第6卷;第2:5-2:9页 * |
On the Use of Discretized Source Code Metrics for Author Identification;Maxim Shevertalov,Jay Kothari,Edward Stehle,Spiros Mancoridis;《1st International Symposium on Search Based Software Engineering》;20090515;第69-78页 * |
重复代码检测方法及其应用;刘鑫;《中国优秀硕士学位论文全文数据库》;20090215(第02期);第30-43页 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2728497C1 (ru) * | 2019-12-05 | 2020-07-29 | Общество с ограниченной ответственностью "Группа АйБи ТДС" | Способ и система определения принадлежности программного обеспечения по его машинному коду |
RU2728498C1 (ru) * | 2019-12-05 | 2020-07-29 | Общество с ограниченной ответственностью "Группа АйБи ТДС" | Способ и система определения принадлежности программного обеспечения по его исходному коду |
US11847223B2 (en) | 2020-08-06 | 2023-12-19 | Group IB TDS, Ltd | Method and system for generating a list of indicators of compromise |
Also Published As
Publication number | Publication date |
---|---|
CN103020494A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103020494B (zh) | 一种利用程序代码编程模式著作权归属检测模型检测著作权归属的方法 | |
Hu et al. | Deep code comment generation | |
CN108446540B (zh) | 基于源代码多标签图神经网络的程序代码抄袭类型检测方法与系统 | |
Zhao et al. | An AST-based code plagiarism detection algorithm | |
CN105159715A (zh) | 一种基于抽象语法树节点变更抽取的Python代码变更提示方法 | |
Lee et al. | Query performance of the IFC model server using an object-relational database approach and a traditional relational database approach | |
CN103473409A (zh) | 一种基于知识库的fpga故障自动诊断方法 | |
CN105868116A (zh) | 基于语义变异算子的测试用例生成和优化方法 | |
Xie et al. | Hirec: Api recommendation using hierarchical context | |
CN116521898A (zh) | 一种电厂发电设备故障知识图谱的构建方法 | |
Li et al. | Neural factoid geospatial question answering | |
Antoniol et al. | Maintaining traceability during object-oriented software evolution: a case study | |
Wen et al. | Code similarity detection using ast and textual information | |
Zhang et al. | Flowchart‐Based Cross‐Language Source Code Similarity Detection | |
Wen et al. | OLMPT: research on online log parsing method based on prefix tree | |
Ishihara et al. | Reusing reused code | |
Liu et al. | Knowledge Graph Construction and Application of Spatial Arrangement of Underground Powerhouse | |
ping Zhang et al. | AST-based multi-language plagiarism detection method | |
Agrawal et al. | Ruffle: Extracting co-change information from software project repositories | |
CN114428743B (zh) | 一种软件复制率度量方法 | |
Zhang et al. | Ast-based plagiarism detection method | |
Udagawa | Source code retrieval using sequence based similarity | |
Silva et al. | LCCSS: A similarity metric for identifying similar test code | |
Zhao et al. | Bug localization with semantic guidance using pseudo-Siamese network | |
Oetsch et al. | The system Kato: Detecting cases of plagiarism for answer-set programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |