题名 程序代码相似度度量的研究与实现
被引量:17
1
作者
于海英
机构
内蒙古财经学院计算机信息管理学院
出处
《计算机工程》
CAS
CSCD
北大核心
2010年第4期45-46,49,共3页
基金
内蒙古财经学院科研基金资助重点项目(KY0642)
内蒙古自治区高等学校科学研究基金资助项目(NJ09125)
文摘
针对程序代码相似度的度量问题,提出一种属性计数和结构度量相结合的方法,通过统计程序源代码的操作符和操作数个数,产生Halstead长度、Halstead词汇和Halstead容量3个程序的特征向量,利用向量夹角的余弦计算属性相似度,采用最长公共子序列算法获取结构相似度,从而衡量程序对间的相似程度。实验结果表明,该方法能够有效检测出学生作业中的相似程序代码。
关键词
属性 计数
结构度量
程序代码相似度
Keywords
attribute counting
structure metrics
program code similarity
分类号
N945
[自然科学总论—系统科学]
题名 代码相似性检测在程序设计教学中的应用
被引量:8
2
作者
张莉
周祖林
机构
对外经济贸易大学信息学院
出处
《计算机教育》
2009年第13期116-118,112,共4页
文摘
代码剽窃是程序设计课程中经常出现的一种作弊行为,检测剽窃的源代码、验证学生程序作业的原创性在教学中很重要。程序代码的相似度度量是剽窃检测的关键技术。本文首先对现有程序代码相似性检测技术进行研究,然后改进Halstead算法,提出了基于统计学方法程序代码相似性检测算法,最后对算法的有效性进行了实验分析。
关键词
相似性检测
属性 计数
程序代码
卡方检验
Keywords
similarity detection
attribute account
program code
chi-square test
分类号
G642
[文化科学—高等教育学]
题名 程序代码相似度检测方法的设计与实现
被引量:5
3
作者
全上克
杨新锋
机构
南阳理工学院教务
南阳理工学院计算机与信息工程学院
出处
《微型电脑应用》
2013年第10期38-41,共4页
文摘
程序代码的相似度是剽窃检测的关键技术。通过对现有程序代码相似度度量技术进行研究后,基于属性技术法、结构度量法提出了一种属性计数和结构度量相结合的方法。通过统计程序源代码的操作符和操作数个数以及程序逻辑结构从而产生出一个特征向量,利用向量夹角的余弦计算属性相似度。实验结果表明,该方法能够有效检测出作业中相似的程序代码。
关键词
属性 计数
结构度量
程序代码相似度
Keywords
Security Operations Center
Security Event
Correlation Analysis
分类号
TP309
[自动化与计算机技术—计算机系统结构]
题名 基于多种技术的混合式程序代码抄袭检测方法
被引量:3
4
作者
杨超
机构
合肥学院基础教学与实验中心
出处
《计算机工程与应用》
CSCD
北大核心
2016年第18期222-227,共6页
基金
安徽高校省级自然科学项目(No.KJ2013Z278)
文摘
在分析现有程序代码抄袭检测系统的特点及局限性的基础上,提出一种综合文本分析、结构度量和属性计数技术的混合式程序抄袭检测方法。应用文档指纹技术和Winnowing算法计算程序的文本相似度;将程序代码表示成动态控制结构树(Dynamic Control Structure tree,DCS),运用Winnowing算法计算DCS树相似度,从而得到结构相似度;收集并统计程序中的每个变量信息,应用变量相似度算法分析变量信息节点获取变量相似度;分别赋予文本相似度、结构相似度和变量相似度一个权值,计算得到总体的代码相似度。实验结果表明,所提出的方法能够有效检测出各种抄袭行为。针对不同的抄袭门槛值,使用该方法的检测结果准确度和查全率高于JPLAG系统。特别对于结构简单的程序组,此方法和JPLAG系统检测结果的平均准确度分别为82.5%和69.5%,说明所提的方法更加有效。
关键词
抄袭检测
相似度
Winnowing算法
结构度量
属性 计数
Keywords
plagiarism detection
similarity
Winnowing algorithm
structure metrics
attribute counting
分类号
TP311.10
[自动化与计算机技术—计算机软件与理论]
题名 汇编语言程序相似性检测混合算法
被引量:2
5
作者
石陆魁
张军
陈飞
李金钊
机构
河北工业大学计算机科学与软件学院
出处
《河北科技大学学报》
CAS
北大核心
2011年第2期138-142,共5页
基金
天津市应用基础及前沿技术研究计划(10JCZDJC16000)
文摘
根据汇编语言自身的特点,提出了结合属性计数和结构度量技术的相似性检测混合算法。在该方法中,将程序段的数目、子程序定义和调用的次数、循环指令loop出现的次数、转移指令出现的次数作为结构信息,73个使用频率较高的关键字作为属性信息。在从汇编语言程序中提取这些信息后,利用卡方检验来判断2个程序的相似性。实验结果表明,从混合算法得到的结果与人工检测的结果相一致,优于从属性计数和结构度量技术得到的结果。
关键词
汇编语言
相似性检测
抄袭
属性 计数
结构度量
Keywords
assembly language
similarity detection
plagiarism
attribute counting
structure metrics
分类号
TP313
[自动化与计算机技术—计算机软件与理论]
题名 代码标识符属性特征向量相似度检测技术研究
被引量:1
6
作者
陈凯
刘建宾
机构
北京信息科技大学计算机学院
出处
《福建电脑》
2016年第1期4-7,共4页
基金
北京信息科技大学教改重点项目"软件工程专业‘卓越工程师教育培养计划’教学改革与实践"(项目编号:2011JGZD04)
北京市人才培养模式创新试验区项目"北信科大软件工程专业试点改革"(项目批准号:京教函[2009]630号)
文摘
每段程序代码中的标识符,包含了不同程序部件的名字属性信息,是程序代码中不可或缺的重要元素,为程序代码相似度检测提供了重要分析依据。该文通过提取程序代码中所有的标识符,并对其进行分类,获得程序代码的基础数据,将其中的属性信息映射到特征向量中,然后用改进的向量距离算法计算标识符相似度结果。实验证明,该文所述方法比传统的属性计数法能更有效快速地检测出标识符相似的代码。
关键词
代码相似度
标识符
属性 计数 法
向量
分类号
TP311.1
[自动化与计算机技术—计算机软件与理论]
题名 程序代码相似度检测技术的研究与实现
7
作者
卫军超
耿楠
机构
西北农林科技大学信息工程学院
出处
《信息与电脑》
2017年第3期99-101,107,共4页
基金
西安交通工程学院校级教改项目(项目编号:150006B)
文摘
针对传统相似度算法应用在程序设计课程作业检测中精度较低这一问题,通过研究最长公共子序列等算法,发现其优缺点,并提出了一种属性计数和结构度量技术相结合的程序相似度计算方法。该方法首先对源程序进行初步处理,将程序中的注释语句和空格删除,再确定常用元素及常用结构,然后利用Lex统计、抽取程序元素;利用开源代码ucc生成语法树,之后抽取相应的语法结构;最后生成特征向量,并计算代码相似度。实验结果表明该方法比最长公共子序列算法精度提高了10.6%。
关键词
属性 计数 法
结构度量技术
相似度度量
Keywords
attribute counting method
structure measurement technique
similarity measure
分类号
TP311.11
[自动化与计算机技术—计算机软件与理论]
题名 程序代码相似度检测技术的研究与实现
8
作者
卫军超
耿楠
机构
西北农林科技大学信息工程学院
出处
《电脑知识与技术(过刊)》
2017年第2X期39-40,共2页
基金
西安交通工程学院校级教改项目(编号:150006B)
文摘
针对传统相似度算法应用在程序设计课程作业检测中精度较低这一问题,通过研究最长公共子序列等算法,发现其优缺点,在分析的基础上,结合结构度量技术和属性技术两种技术,提出一种性能较好的程序相似度计算方法。方法首先对源程序进行初步处理,将程序中的注释语句和空格删除,再次确定常用元素及常用结构,然后利用Lex统计、抽取程序元素;利用开源代码ucc生成语法树,之后抽取相应的语法结构;最后生成特征向量,并计算代码相似度。实验结果表明该方法比最长公共子序列算法精度提高了10.6%。
关键词
属性 计数 法
结构度量技术
相似度度量
Keywords
attribute counting
structure measurement
similarity measurement
分类号
TP311.1-4
[自动化与计算机技术—计算机软件与理论]
G642
[自动化与计算机技术—计算机科学与技术]
题名 基于属性识别方法的程序文本相似度检测方法
被引量:1
9
作者
蒋栋
机构
徐州机电工程高等职业学校
出处
《中外企业家》
2014年第9Z期120-120,共1页
文摘
笔者主要利用属性计数法检测程序文本相似度的相似度。程序文本的属性包含多个方面,如程序的物理结构,包括程序文件大小、行数,等等。程序属性不易随程序表达形式改变而变化,即使改变也是少数的。属性计数法的这个特点,可以用来检测程序文本的相似度。
关键词
程序文本相似度
属性 计数 法
相似度检测
分类号
TP391.1
[自动化与计算机技术—计算机应用技术]