基于ftp教学平台的代码相似度检测的研究_第1页
基于ftp教学平台的代码相似度检测的研究_第2页
基于ftp教学平台的代码相似度检测的研究_第3页
基于ftp教学平台的代码相似度检测的研究_第4页
基于ftp教学平台的代码相似度检测的研究_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-精选财经经济类资料- -最新财经经济资料-感谢阅读- 1 基于 FTP 教学平台的代码相似度检 测的研究 摘要:本文利用 FTP 教学平台, 实现了一个代码相似度检测的在线应用, 所用到的最长公共子序列算法是对于文 本匹配的动态规划。 中国论文网 /8/view-12885249.htm 关键词:FTP;教学;代码;相 似度 中图分类号:TP393.01 文献标 识码:A 文章编号:1007-9599 (2012) 09-0000-02 一、前言 随着信息技术的快速发展,各大 高校纷纷设置程序语言或数据库管理等 信息化课程。个别学生利用他人资源, -精选财经经济类资料- -最新财经经济资料-感谢阅读- 2 通过简单的复制粘贴来完成作业。为了 遏制这种抄袭现象,教师需要花费大量 的时间来批阅作业,在一定程度上会影 响教学进度。有的抄袭文本对代码进行 了加注释和换行来欲盖弥彰,可能会影 响批判的准确性。同时,教师在阅读代 码时往往先要将学生的代码下载到本地 后再打开查看,如果能在线进行阅读就 能节省一部分的时间和精力。 本文采用了最长公共子序列算法。 该算法是对于文本匹配的动态规划1, 目的是找出两个序列中最长公共子序列, 在媒体流的相似比较、图形样式的相似 处理、生物基因研究等方面应用广泛。 在网络时代中,相比于利用移动 存储设备等交互方式而言,在网上进行 信息的传输更为频繁。FTP(File Transfer Protocol) ,也就是文件传输协 议,是在 TCP/IP 网络和 INTERNET 上 最早使用的协议之一。目前 FTP 服务相 对成熟,将其应用在高校的信息化知识 教育中,有利于资源共享,效率提高, -精选财经经济类资料- -最新财经经济资料-感谢阅读- 3 管理方便2。 二、算法简介 (一)定义 代码在检测的过程中可以被提取 为连续的字符串,即字符序列。 假设有序列 X=x1, x2,xn,Y=y1,y2,y n。 如果有序列 Z=z1, z2,zn 以及单调递增的整数序列 m1m2mk,使得 Xar=Zr=Ybr 均能 够成立,那么序列 X 和序列 Y 拥有的 公共子序列是序列 Z,当 k 为最大值时, 序列 Z 就是最长公共子序列,记为 Z=T(X,Y)。 (二)计算 令 X 含有的元素数量为 L(X), L(T(X,Y)记为 L(X,Y),那么 此时,数组 LX,Y中最大的值 便是 X 和 Y 的最长公共子序列的长度, 依据该数组回溯,便可找出最长公共子 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 4 序列。 假设 X=a, b,c,d,a,c ,b,Y=b ,d,c, a,b,那么序列 C1=b,c ,d 是 X 和 Y 的公共子序列,但不是最长公共子序列, 而序列 C2=b,c,a ,b 和 C3=b,d,c,b 都是公共子序列,并且 均为最长公共子序列,长度为 4。 算法的流程如图 1 所示,记 m=L(X),n=L(Y),L(i,j)为二维数组 (0im,0jn) 图 1 流程图 (三)结果 最后,两个序列的相似度可以用 最长公共子序列的长度在整个序列中所 占的百分比表示,如公式 1-13: 公式 1-1 其中,Len(X,Y)就是序列 X 和序列 Y 的最长公共子序列的长度。 三、实现方法 (一)创建 WEB 项目 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 5 本文的 FTP 应用是基于 Java 语 言开发的 Web 应用,将充分利用 Java 程序“一次编写,到处运行”(Write once,run anywhere)4的优点,同时使 用了最新的基于 MVC 的 Web 应用开发 框架 Struts25。 (二)添加框架和相关开发包 导入使用 Struts2 所必须的类库, 以及访问 FTP 所需的 Jar 文件 (commons-net) 。 (三)设计交互页面 (四)编写控制层 类名 功能描述 CompareAction.java 调用算法以 检测代码相似度 LoginAction.java 登录并显示资 源列表 (五)实现业务逻辑 类名 功能描述 Comparer.java 算法实现 MyFtpClient.java FTP 登录和资 源访问 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 6 TextReader.java 代码获取 四、系统实现 (一)开发环境 本系统在 Windows 环境下开发, 开发工具为 Eclipse3.6 和 Tomcat6.0,JDK 版本为 J2SE 6.0。 (二)功能实现 1.进入检测系统,使用已有账户 访问 FTP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论