网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 原创设计 > 正文

代码如何进行论文查重?

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

【编者按】网学网原创论文|原创设计频道为大家收集整理了“代码如何(How)进行论文查重(checking)?“提供大家参考,希望对大家有所帮助!

代码如何进行论文(paper)查重(checking)?我个人为我们课程DIY过一个知网查重(checking)的软件工具,是基于数据流分析的,效果还不错,反正修改变量名,提取函数这些小伎俩是完全无用的,甚至可以做到一定的跨语言查重(checking)(只把c#代码copy到java里,然后改一改跑起来是会被发现的)。说明程序代码也会进行对比查重(checking)算抄袭重复率。下面具体说说程序代码进行知网查重(checking)的方法,具体如下:


        以c为例,具体流程大概是,先调用预处理器把注释干掉,把macro展开,因include <>而弄进来的那波标准库头文件特殊标记一下,然后建立CFG(control flow graph)进行知网查重(checking)。因为CFG关心的是变量的值会怎么传播,所以在中间插入一大堆无副作用的语句是不会有任何效果的,把变量换个名或挪个位置(比如加多一层block)也没啥卵用。


        c++的话就会麻烦很多,毕竟在c++里就算a + b这么个简单语句,因为operator+可以重载,所以指不定执行完这个语句就可以把地球都炸了呢,而且这个重载在不同namespace里还可能不同,比如namespace A是用核弹炸地球,namespace B是对整个地球播一段爱的供养神马的……在c++里建立CFG会是个噩梦……程序代码进行知网查重(checking)的方法比较复杂吧!!

        不过说起来我们的课程比较特殊,因为作业用的是类ACM的提交系统,所以对运行环境有比较严格的限制,这保证了程序代码知网查重(checking)查重(checking)的准确率。如果是完全开放性的程序代码知网查重(checking)(即对语言和第三方lib等等都不做限制的话)恐怕会很困难。

        === 举个例子 ===
以下是前几天刚刚检测到的抄袭代码片段……下面两段java代码被检测出有高度匹配(右图里getARGBData函数只是把二维数组给复制4份凑成一个三维数组而已,没干其他事)……

        另外一点,为了减少漏网之鱼,知网查重(checking)时一般都会用低阈值初筛,再人工介入复核。此外建立回溯机制,比如如果某人现场考试的成绩和作业排名差异较大的话,会触发重查,专门为他调低阈值重查一遍+人工复核。不过正因为有人工复核,所以思路相同一般是不至于误判的,毕竟只要代码行数一多,思路再相同,代码风格上也会有很大差异。

 

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师