[发明专利]一种对于在线编程考试中所提交的代码的度量方法在审

专利信息
申请号: 202011038003.6 申请日: 2020-09-28
公开(公告)号: CN112148609A 公开(公告)日: 2020-12-29
发明(设计)人: 刘钦;范佳杰;王立巍;吴林漾 申请(专利权)人: 南京大学
主分类号: G06F11/36 分类号: G06F11/36;G06F40/194;G06F40/253
代理公司: 南京瑞弘专利商标事务所(普通合伙) 32249 代理人: 陈建和
地址: 210093 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 对于 在线 编程 考试 提交 代码 度量 方法
【说明书】:

一种对于在线编程考试中所提交的代码的度量方法,利用SonarQube来进行代码质量度量并获取数据结果、通过封装的SonarQube API获取项目的质量度量数据并展示到前端页面;通过代码相似度检测算法对代码与其他代码进行对比并将重复情况展示到前端页面;对代码与其他代码进行对比的过程是:对获取的代码进行预处理、对处理代码生成抽象语法树、对语法树进行处理并转换成线性结构、对线性结构进行相似度计算、对结果进行数据展示等个步骤。

技术领域

发明属于软件代码分析技术领域,尤其是代码分析中的针对Java语言的代码重复率度量和代码质量度量。其目的在于为代码编写人员(学生)和代码检测人员(老师)提供代码的质量度量结果以及代码重复率检查情况,从而提高对代码编写人员能力检测的质量,判断代码是否存在抄袭现象。

技术背景

在已有的在线编程考试系统之中,对于学生编程行为和所写代码的反馈仅仅通过结合测试用例来评判其正确性,无法度量学生代码的一些质量属性,比如可维护性,复杂度等等。并且线上考试使得教师不需要参与阅卷过程,只关注学生通过了多少测试用例即其最终的考试成绩。这就导致如果有学生在考试过程中存在代码抄袭行为很难被发现。通过代码质量度量,可以及时了解自己所写代码的质量属性,以便养成良好的编程习惯、提高自身编程技巧和能力,让考试也变成学习的一个重要环节。

学生抄袭代码一方面会导致编程考试无法有效反应学生的真实水平,另一方面也非常不利于学生的能力成长。因此代码相似度度量也是教学过程中极其重要的一个环节。一般来说,在进行相似度度量的过程中,如果提交了n份代码,那么需要进行两两比对,也就是要进行n(n-1)/2次比对,才能完成代码度量。而计算机相关课程的一场考试人数通常会达到一两百。这就意味着,需要进行上千次甚至上万次的比对才能检查出一场考试所有学生代码之间的相似情况。在这种情形下,采用人工比对的方式是十分耗时耗力且不切实际的。

发明内容

本发明目的是,解决现有的问题:代码度量的方法,包括代码质量度量和代码重复率度量。本发明主要是提出一种对于在线编程考试中所提交的代码的度量方法。

本发明的技术方案是,一种对于在线编程考试中所提交的代码的度量方法、以及数据结果展示,其流程主要是:利用SonarQube来进行代码质量度量并获取数据结果、通过封装的SonarQube API获取项目的质量度量数据并展示到前端页面。

对代码进行质量度量以及获取数据结果,指对代码进行相似度度量以及获取数据结果,即通过代码相似度检测算法对代码与其他代码进行对比并将重复情况展示到前端页面。

对代码与其他代码进行对比的过程是:对获取的代码进行预处理、对处理代码生成抽象语法树、对语法树进行处理并转换成线性结构、对线性结构进行相似度计算、对结果进行数据展示等个步骤。

本发明的特点:1、利用SonarQube来进行代码质量度量、通过封装的SonarQubeAPI获取项目的质量度量数据并展示到前端页面等2种特征。2、对获取的代码进行预处理、对处理代码生成抽象语法树、对语法树进行处理并转换成线性结构、对线性结构进行相似度计算、对结果进行数据展示等5种特征。

本发明的有益效果:可以指导代码编写人员查看自己代码的各项指标度量和质量属性,并且对代码进行重复率度量,减少代码抄袭。

附图说明

图1为本发明的工作流程视图。

图2所示,除已经被过滤掉的叶子结点以外,其他节点均参与哈希值计算得到自身哈希值的示意图;

如图3所示,将抽象语法树的所有节点转换为图中的HashMap。

图4为本发明质量计算流程图。

具体实施方式

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011038003.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top