计算机程序抄袭检测系统的设计方案

2018-01-28 23:05王鹏
电子技术与软件工程 2017年18期
关键词:计算机程序设计

王鹏

摘要

随着计算机时代的到来,我国很多院校都开展了计算机编程课程,由于程序设计技能培养的重要性,教师会布置编程作业作为学生的课后作业。为了解决此专业课程老师们在对学生编程作业检查时,需要花很多心思来检查抄袭率,所以研究计算机程序抄袭检测系统的设计方案尤为必要。检测系统的核心技术是通过对学生们所提交的程序实践作业进行程序相似度的计算,这种全自动的抄袭检测可以找到相似度较高的程序文档对,从而方便快捷地从大量程序作业中筛选出疑似抄袭的作业。抄袭检测系统的应用,可以帮助老师减轻负担,高效完成工作。本文就着重分析了计算机程序抄袭检测系统的基本功能需求。

【关键词】计算机程序 抄袭检测 设计

1计算机程序检测系统基本功能的实现

计算机程序检测系统的核心技术是程序代码相似度的计算,既是通过计算机将两个程序代码文档的相似程度自动数值化。而这种程序相似度计算技术己经广泛应用到软件工程程序代码的重用管理或对数字信息类知识产权中的程序代码抄袭或复制的检测等等。

在学生所提交的大量程序文档作业当中,在没有用检测系统进行检测以前,均无法准确判断其中哪些程序作业之间存在互相抄袭的嫌疑。为了保证检测系统的检测结果与实际情况充分符合,需要抄袭监测系统可以对输入的所有程序文档进行“一对一”的自动抄袭检测。然后将它们的相似程度自动数值化,相似数值以“XX%”表示。并且相似数值输出后可以按照从从低到高或者是高到低的方式排列出来,这样方便检测者结合相似数值和实际情况设定一个值,超过这个值得程序文档即为具有抄袭性的作业。

2计算机程序抄袭检测系统设计方案研究

2.1应当具备陈列和选取待检测程序文档的路径和文件名

这个过程最重要的是要求检测系统具有可以陈列和选取电子文档的存储路径与文件名称的功能。同时,为了提高检测系统的工作效率,增强可行性,要求检测系统能能够直接在己经陈列好的程序文档列表中实现新建和增设新程序文档和文件的功能。另外,要求检测系统具有对整个检测文档清空、批量处理、重命名等操作功能。

2.2程序文档“一对一”相似度检测的应用功能

相似度检测这是整个计算机程序抄袭检测系统最为关键的一步。具体步骤为:

(1)所谓“一对一”,需要检测者对待检测的程序文档列表中的所有文件进行配对,要求每个文档都与其他文档两两配对。需要说明的是,进行单个文件的两两匹配时,如文档列表为1#、2#、3#、4#、5#,需要以1#配对2#、1#配对3#、1#配对4#、1#配对5#、2#配对3#、2#配对4#、2#配对5#、3#配對4#、3#配对5#、4#配对5#为准,不是1#对应2#、3#对应4#……这样。

(2)配对好的程序文档对自动进行相似度数值的计算。

(3)计算结果按照从高到低或者从低到高进行排列出来。文档中往往存在很多不重要信息会影响系统的检测准确性,为了保证整个抄袭检测系统的科学有效性,应当避免这些不重要信息对系统的不利影响。其中不重要信息主要包括:换行、空格或者标点符号等等。不仅如此,还应该将那些对程序文档内容和结构影响非常低的词语(比如:的、得、地等)进行筛除,从而保证抄袭检测结果的真实性。

2.3相似度较高的程序文档进行深度详细比对

当计算机程序抄袭检测系统对大量程序文档进行“一对一”检测后得出较高相似度数值就表明这些程序文档对有很大的抄袭嫌疑,这个时候,就需要对这些相似度较高的程序文档进行深度详细比对进一步排除和确定抄袭。这一步骤可以同时显示程序文档对,主要观察文档对相同部分得以实现。如果计算出程序文档对相似度较低,则可以直接排除它们之间的抄袭嫌疑。

从上述方法操作,计算机程序抄袭检测系统基本操作流程图如图1。

2.4抄袭检测系统的关键技术及其应用

(1)首先,需要分析计算机程序编码的专业用语,即用各种标点符号来合理转换程序文档内容,把通俗意义上的文档语句转变为特定的语句序列。然后,利用此法分析的方法再将它们划分成适用于这个程序文档的语句序列。因此,程序文档当中的每个语句都能够用下面的结构方法加以呈现:

Para=[句子对应数值,(语词单元数值)]

通过这一专业方法将一般通俗含义的文档语句变成特定语句序列,可以使每个独立文本之间的比较速度大大提高,同时利用最大公共序列求解的办法,从而明确出两个相对独立语句中的相似程度,如下式:

Sim(A,B)=A,B最大公共序列长度/max(A关键编码数量,b关键编码数量)

(2)然后,从提取计算机程序文档的特征部分来看,需要满足具有一定长度的待提取编码,这样避免过短句的干扰,对整体的文档检测结果造成失真后果。在检测过程当中,待提取的程序内容必须含一定数量的有效关键词,方可进行抄袭率的有效检测。

(3)最后,分析计算机程序文档的相似度计算,要求程序代码之间具有一定的相似度,相互文档之间存在的相似度量按照下式定义:

Sim(A,B)=文档A、文档B有效编程代码相似数量/文档A、文档B含有编程代码数量较少的程序文档中的代码综述。

通常情况下,Sim(A,B)越低,就表明文档A、B之间的相似度越低,反之越高。

3总结

综上所述,计算机程序抄袭检测系统的广泛应用,实现了对程序文件抄袭结果的有效处理,这使得电子文档中抄袭检测质量和水平有了很大的飞跃。本文对计算机程序抄袭检测系统的设计方案进行了较详细的研究阐述,在计算机程序抄袭检测系统的更为完善的建立上面具有极其重要的意义。

参考文献

[1]张淑娟.计算机程序抄袭检测系统的设计方案研究[J].吉林广播电视大学学报,2014(04):75-76.

[2]李旭东.程序相似度计算技术及其在教学中的应用[J].软件导刊·教育技术,2010,9(04):85-86.

[3]房德安.计算机程序抄袭检测系统的设计方案分析[J].黑龙江科技信息,2013(06):94.endprint

猜你喜欢
计算机程序设计
何为设计的守护之道?
瞒天过海——仿生设计萌到家
设计秀
有种设计叫而专
《指南》的修改对程序产品的知识产权保护的影响
对计算机程序保护中“同一作品”原则的质疑——兼评《著作权法(修订草案送审稿)》第5条第15项
对“计算机程序产品”权利要求审查的比较研究
涉及计算机程序的发明专利申请产品权利要求的撰写
设计之味