首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 187 毫秒
1.
为了检测程序设计类课程中出现的作业抄袭行为,提出了基于抽象语法树的抄袭检测方法.运用语法分析工具对代码进行语法分析生成抽象语法树(AST),通过计算生物学中序列匹配的算法进行程序相似度的计算.提取程序相似部分的AST特征,生成空间向量,聚类分析找出“抄袭团伙”.实验结果表明,该方法对抄袭行为具有较好的检测效果,并能比较准确地找到“抄袭团伙”.  相似文献   

2.
在分析现有程序代码抄袭检测系统的特点及局限性的基础上,提出一种综合文本分析、结构度量和属性计数技术的混合式程序抄袭检测方法。应用文档指纹技术和Winnowing算法计算程序的文本相似度;将程序代码表示成动态控制结构树(Dynamic Control Structure tree,DCS),运用Winnowing算法计算DCS树相似度,从而得到结构相似度;收集并统计程序中的每个变量信息,应用变量相似度算法分析变量信息节点获取变量相似度;分别赋予文本相似度、结构相似度和变量相似度一个权值,计算得到总体的代码相似度。实验结果表明,所提出的方法能够有效检测出各种抄袭行为。针对不同的抄袭门槛值,使用该方法的检测结果准确度和查全率高于JPLAG系统。特别对于结构简单的程序组,此方法和JPLAG系统检测结果的平均准确度分别为82.5%和69.5%,说明所提的方法更加有效。  相似文献   

3.
程序代码相似性的识别是利用一定的检测识别手段,判断两个源程序代码之间的相似性,并度量两个程序代码之间的相似程度。代码抄袭是程序设计课程中频繁出现的一种作弊行为,检测源代码的抄袭对验证学生程序作业的独创性非常重要。本文针对计算机教学考核中对程序设计客观性和真实性的要求,应用最长公共子序列算法来对比两个源程序文件在结构上的相似性,同时设计可用于教学考核的程序代码相似度评判系统。  相似文献   

4.
本文提出一种对C语言代码进行规范化的方法通过对程序代码中的变量和函数进行了无类型化处理,对程序中的表达式进行规范化后再进行相似度的对比。实验结果表明,经过上述处理后可以排除常见的不涉及语义层面的大部分抄袭手段。  相似文献   

5.
基于XML的C代码抄袭检测算法   总被引:3,自引:0,他引:3       下载免费PDF全文
主要研究一种基于XML文本的C代码抄袭检测算法。将C程序源代码转化为XML文本,提取XML文本各行标记的属性,计算XML文本行的相似值,得到程序对的相似度。并对抄袭检测算法实行分类测试:按十二种抄袭手段分类;按复杂语义和复杂数据结构分类。测试结果对比验证了抄袭检测算法的有效性。  相似文献   

6.
程序代码相似度度量算法研究   总被引:5,自引:0,他引:5  
代码剽窃是程序设计课程中经常出现的一种作弊行为,检测剽窃的源代码,验证学生程序作业的原创性在教学中很重要.程序代码的相似度度量是剽窃检测的关键技术.通过对现有程序代码相似度度量技术进行研究后,基于Karp-Rabin和最长公共子串算法思想,提出了一种改进的源代码相似度度量算法,即串的散列值匹配算法.  相似文献   

7.
论文基于Verilog语言,从词法分析识别单词开始,结合TF-IDF算法获取代码的文本特征值,其次通过语法分析,使用语法树节点的哈弗曼值作为代码的结构特征值,联合使用文本特征值和结构特征值构成代码向量,然后再对代码向量使用奇异值分解获取其潜在语义空间,最后通过潜在语义空间上余弦相似度获取学生代码之间的相似度值。实现了一种高效的程序代码集到特征矩阵文本特征提取算法,为线上教学教育体系提供了更好的教学质量保障,在经过7种课程实验文件的测试后,最终选取相似度前20%作为阈值,其抄袭检测正确率高达96.7%,表明该算法从编译层的角度实现了抄袭检测,效率较高,且对于学生代码作业的抄袭检测率效果较好,可以帮助教师更好地完成教学工作。  相似文献   

8.
代码相似性检测在程序设计教学中的应用   总被引:1,自引:0,他引:1  
张莉  周祖林 《计算机教育》2009,(13):116-118,112
代码剽窃是程序设计课程中经常出现的一种作弊行为,检测剽窃的源代码、验证学生程序作业的原创性在教学中很重要。程序代码的相似度度量是剽窃检测的关键技术。本文首先对现有程序代码相似性检测技术进行研究,然后改进Halstead算法,提出了基于统计学方法程序代码相似性检测算法,最后对算法的有效性进行了实验分析。  相似文献   

9.
为了提高源程序代码之间相似性的检测效率,提出一种基于序列聚类的相似代码检测算法.算法首先把源代码按照其自身的结构进行分段提取,然后对各个分段进行部分代码变换,再以带权重的编辑距离为相似度量标准对这些符号进行序列聚类,得到相似的程序代码片段,以达到对源程序进行相似功能检测的目的.使用多个真实和仿真程序对上述算法进行了实验,实验结果验证了算法的有效性和可伸缩性.  相似文献   

10.
代码克隆是软件系统中常见现象。将程序代码通过静态分析,转换为由程序结点构成的路径执行序列,通过结点属性的定义,将程序代码相似度检测转化为离散序列距离,折线模型和序列相关度问题,针对上述三种模型计算不同代码执行路径间相似度,最终得出程序间克隆相似度。经过实验和数据分析,验证该方法的可行性。  相似文献   

11.
一种基于关系的XML文档模型映射方法*   总被引:1,自引:0,他引:1  
在分析已有映射方法的基础上,提出了二种新的XML文档到关系数据库的模型映射方法.该方法按照节点类型依次将XML文档的各个节点信息映射到关系数据库中不同的表中,为所有非叶子节点存储其子节点,从而有效减少了文档重组时间;为所有叶子节点分组,从而有效降低了查询时节点的连接操作代价.实验结果表明,与已有映射方法相比,该方法具有更高的文档重组和查询效率.该方法具有通用性,可以处理任意的XML文档.  相似文献   

12.
目前现有的前缀编码、区间编码等编码方案均不能很好地支持XML文档的更新计算。为此,提出一种新的前缀编码方案TDE。将实数映射为二维元组,利用任意2个实数间存在无限个实数的特点,对XML文档进行插入节点操作而无需对其他节点进行二次编码,并采用压缩存储减小编码的存储空间。实验结果表明,该方案能有效支持XML文档的更新计算。  相似文献   

13.
In order to facilitate the XML query processing, several labeling schemes have been proposed to directly determine the structural relationships between two arbitrary XML nodes without accessing the original XML documents. However, the existing XML labeling schemes have to re-label the pre-existing nodes or re-calculate the label values when a new node is inserted into the XML document during an update process. In this paper, we devise a novel encoding scheme based on the fractional number to encode the labels of the XML nodes. Moreover, we propose a mapping method to convert our proposed fractional number based encoding scheme to bit string based encoding scheme with the intention to minimize the label size and save the storage space. By applying our proposed bit string encoding scheme to the range-based labeling scheme and the prefix labeling scheme, the process of re-labeling the pre-existing nodes can be avoided when nodes are inserted as leaf nodes and sibling nodes without affecting the order of XML nodes. In addition, we propose an algorithm to control the increment of label size when new nodes are inserted frequently at a fix place of an XML tree. Experimental results show that our proposed bit string encoding scheme provides efficient support to the process of XML updating without sacrificing the query performance when it is applied to the range-based labeling schemes.  相似文献   

14.
随着XML技术的发展,如何利用现有的数据库技术存储和查询XML文档已成为XML数据管理领域研究的热点问题。本文介绍了一种新的文档编码方法,以及基于这种编码方式提出了一种新的XML文档存储方法。方法按照文档中结点类型将XML文档树型结构分解为结点,分别存储到对应的关系表中,这种方法能够将任意结构的文档存储到一个固定的关系模式中。同时为了便于实现数据的查询,将文档中出现的简单路径模式也存储为一个表。这种新的文档存储方法能够有效地支持文档的查询操作,并能根据结点的编码信息实现原XML文档的正确恢复。最后,对本文提出的存储方法和恢复算法进行了实验验证。  相似文献   

15.
裴松  武彤 《微型机与应用》2013,32(17):56-59
为从企业生产线上XML半结构化数据中抽取富有意义数据,分析了XML半结构化数据和关系数据库中结构化数据特点,以及XML半结构化数据在关系数据库中的存储方法。针对实际应用,提出采用扩展哈弗曼前缀编码方法,对XML文档树进行唯一编码,实现XML文档与关系数据库映射,同时给出最长前缀匹配策略,支持数据查询,以提高查询效率。  相似文献   

16.
XML是网络中跨平台数据发布与交换的标准格式,它在数据库领域有着广阔的应用空间。对于基于DTD在关系数据库中存储XML文档,通过对现有映射策略的分析,提出在一种改进的映射策略,可以完整保存DTD中所包含的语义约束。  相似文献   

17.
基于区间编码方案分裂大型XML文档到关系存储   总被引:6,自引:0,他引:6  
将一个XML文档分裂存储到关系数据库中,通常的方法是利用DOM对该XML文档进行解析,并利用DOM接口提供的XML文档树信息来实现分裂。但是,DOM在解析一个大型XML文档时效率特别低,甚至是无法胜任。文中对转换XML文档到关系数据库中进行存储和查询的策略以及区间编码方案进行了综述;基于区间编码方案探讨了如何分裂一个大型XML文档到关系存储的基本原理,并给出了相应的算法。实验结果表明,该方法是通用的、高效的。  相似文献   

18.
XML文档架构与关系数据模型间的映射研究   总被引:6,自引:2,他引:6  
XML逐渐成为Internet上数据描述和交换的标准。随着Web上大量数据用XML文档表示出来,有必要对这些XML文档进行操纵管理。为了结合关系数据库系统强大的数据操纵能力,论文在对XML文档的逻辑结构进行简要介绍的基础上,就XML文档特别是结构化XML文档与关系数据模型数据之间的互动映射作了深入探讨,特别是在数据结构和数据完整性约束条件的映射关系上作了更深一层的研究,提出了一系列基于XML本身的映射规则。  相似文献   

19.
原生XML存储方案直接关系到查询处理和数据更新。目前的原生XML存储方案大多关注于查询处理而很少涉及对数据更新的支持。与关系表的更新不同,XML更新要考虑到节点的文档顺序。提出了一种新的原生XML存储更新机制,它既保持了节点的文档顺序,又使更新操作局限于一个页面之内,保证了更新的效率。通过引入前向链接记录和重定位记录,该更新机制使页面分裂时记录存储地址保持不变,避免了索引更新的I/O开销。通过实例说明该原生XML存储方案的数据更新机制是有效的。  相似文献   

20.
一种基于关系数据库XML 存储方案的数据库模型   总被引:1,自引:0,他引:1  
存储方案是XML数据管理研究领域的核心问题之一。底层的存储表达在性能上对上层的查询和优化有着重要的影响,因此有效地建立XML文档的存储方案是首要问题。以关系数据库为基础,提出了一种基于边模型映射的XML存储方案的数据库模型。在该模型中,首先依据文档中的结点类型对XML文档树进行结构细化;其次采用联合表来存储结点的值,并在该表中采用结点序号和路径相结合的方式,仅记录每一个元素结点的路径;最后在这种新的存储模式的基础上,实现了针对该模型的数据库操作。实验表明,该模型在查询速度和存储空间方面较以往的工作都有明显的改善。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号