【技术实现步骤摘要】
本专利技术涉及一种编程模式及程序代码著作权归属检测方法。
技术介绍
程序代码编程模式及著作权归属检测方法在教育领域和软件开发领域,如程序代码抄袭检测,软件版权侵犯、著作权纠纷的判定,以及软件维护,都有着重要的应用。现今在计算机教学中,尤其是在程序类课程设计中,大量存在着抄袭他人作业或者作品的行为。在完成上机编程任务或者在编程训练考核中,被考核者抄袭他人程序代码后,稍作修改甚至不做任何修改便拿来作为自主设计作品提交;或者在网络上搜索他人已有的算法代码,“复制-粘贴”到自己的程序中,这些学生程序设计中存在的抄袭现象是产生雷同代码的一个重要原因。除了学生程序设计中存在的抄袭现象产生的雷同代码之外,软件企业中的未经授权的代码重用也受到密切关注。由于一些软件功能之间存在的共通性,使得某些软件企业也存在程序代码的非授权使用的现象,因此大型软件系统中时有发生的抄袭、雷同现象,导致了软件侵权案的不断发生,给正当软件公司造成了严重的影响和危害。无论是针对学生程序还是企业开发的软件,采用人工的方法去查找雷同代码,采用很费时,特别是程序非常多、或程序规模很大时,很难度量抄袭行为性质以及程度。判定程序代码的著作权归属,即判定程序代码的真正作者,就更加困难了。因此,提供自动的程序代码代码的雷同检测及著作权归属判定具有重要的意义。同一个作者,或同一个企业的软件开发人员,由于编程习惯或软件开发实践(如重用通用的框架、遵循特定的编程模式、以及拷贝-粘贴代码),在解决同一类问题时,通常在编程过程中遵循特定的编程模式(如关键字、程序结构、处理思路等),因此,在同一种编程语言解决类似问题时, ...
【技术保护点】
一种程序代码编程模式著作权归属检测模型,其特征在于程序代码编程模式著作权归属检测模型由已知著作权归属的程序代码库、查询程序代码、编程模式及其索引文件、编程模式挖掘器、著作权归属分析器和著作权归属度列表组成;所述的编程模式挖掘器对所述的已知著作权归属的程序代码库进行分析和转换生成所述的编程模式及其索引文件,所述的著作权归属分析器对所述的查询程序代码进行分析,并在所述的编程模式及其索引文件中进行索引生成所述的著作权归属度列表。
【技术特征摘要】
1.一种程序代码编程模式著作权归属检测模型,其特征在于程序代码编程模式著作权归属检测模型由已知著作权归属的程序代码库、查询程序代码、编程模式及其索引文件、编程模式挖掘器、著作权归属分析器和著作权归属度列表组成;所述的编程模式挖掘器对所述的已知著作权归属的程序代码库进行分析和转换生成所述的编程模式及其索引文件,所述的著作权归属分析器对所述的查询程序代码进行分析,并在所述的编程模式及其索引文件中进行索引生成所述的著作权归属度列表。2.根据权利要求1所述的一种程序代码编程模式著作权归属检测模型,其特征在于所述的已知著作权归属的程序代码库由程序代码的著作权归属集合构成。3.根据权利要求1所述的一种程序代码编程模式著作权归属检测模型,其特征在于所述的编程模式挖掘器由词法解析器、数字序列转换器、数字序列转换器、频繁编程模式挖掘器和编程模式索引分析器组成,利用词法解析器对所述的已知著作权归属的程序代码库中的程序代码进行解析,生成标准化的token串,采用数字序列转换器对标准化的token串执行字符串散列,计算所对应的hash值,将标准化的token串转换为一个数字序列,然后划分数字序列,将其转换为序列数据库,利用频繁编程模式挖掘器对序列数据库执行闭合频繁子序列挖掘,频繁编程模式挖掘器应用改进的BIDE数据挖掘算法,挖掘支持度大于2的频繁子序列,所述的频繁子序列对应于至少出现两次的编程模式,编程模式索引分析器分析挖掘出的支持度大于2的频繁编程模式,建立倒排索引文件,并将编程模式和倒排索引文件信息存入数据库中,生成所述的编程模式及其索引文件。4.根据权利要求3所述的一种程序代码编程模式著作权归属检测模型,其特征在于所述的改进的BIDE数据挖掘算法是对BIDE算法进行了如下改进一、设置gap阈值和密度阈值,序列挖掘中允许序列中插入gap,使得算法可以检测插入或删除了部分语句的编程模式;二、研究将频繁序列挖掘得到的数字序列结果与程序代码相映射的方法,使得算法可以准确定位程序代码。5.根据权利要求1所述的一种程序代码编程模式著作权归属检测模型,其特征在于所述的著作权归属分析器由查询代码编程模式解析器和著作权归属度计算器组成,查询代码编程模式解析器根据所述的查询程序代码提供的信息进行分析和数字序列转换,生成标准化的token串,再对标准化的token串执行字符串散列,计算所对应的hash值,将标准化的token串转换为一个数字序列,然后划分数字序列,将其转换为数字序列集合,对生成的数字序列集合进一步分析,判定该数字序列集合中是否含有相同的数字序列,如果存在含有相同的数字序列,则去除重复的数字序列,进而得到无重复的编程模式集合,如果不存在含有相同的数字序列...
【专利技术属性】
技术研发人员:王甜甜,王克朝,苏小红,马培军,
申请(专利权)人:哈尔滨工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。