代码评估软件

由于需要做过程性代码评估,所以首先找了一些代码评估软件。总结如下

CourseMarker

论文:The CourseMarker CBA System: Improvements over Ceilidh

网址:https://coursemarker.software.informer.com

没有公开

 

Marmoset

网址:http://marmoset.cs.umd.edu/index.shtml

只能下载到源码,没法用

UMD:university of Maryland

GitHub上有一个帮助滑铁卢大学计算机科学学院的同学提交作业的插件,用Python写的,网址:https://github.com/hkpeprah/marmoset

论文:Spacco J , Hovemeyer D , Pugh W , et al. Experiences with marmoset: designing and using an advanced submission and testing system for programming courses[J]. ACM SIGCSE Bulletin, 2006, 38(3):13-17.

A review of static analysis approaches for programming exercises

 

Webcat

网址:https://web-cat.cs.vt.edu/Web-CAT/WebObjects/Web-CAT.woa

论文:web-cat

http://www.web-cat.org/group/web-cat网站上还有很多其他软件

正在尝试部署:webcat是Java web程序,为找到合适的tomcat版本,已下载了三版tomcat。还在尝试

已正确部署,且开创了课程,并布置了作业,可以支持c++、Java、Python

能正常运行,但是经过测试发现:评估是通过测试样例评估的,无法评估过程性代码。

按说,提交完代码后,应该出现界面,要求提交测试用例,但是没有。

代码评估软件_第1张图片

跟sourceforge上的页面内容也不一样,从谷歌搜索都没有搜出使用手册之类的,只有一个2008年的论文(104页的英文论文)可以看,但是界面已经改变很多了。

重新安装后,学生方面,提交代码后可以自动评分了,但还是没有上传测试用例的按钮,并且教师方面没有可以上传示例代码的按钮。

每次删除一个任务都会出现错误。

 

Virtual Programming Lab是Moodle的一个插件,Moodle是用于制作网络课程或网站的软件包。

网址:https://moodle.org/plugins/mod_vpl

http://vpl.dis.ulpgc.es/ 显示的是errors

https://github.com/jcrodriguez-dis

 

Grading Tool(Magdeburg University)

不支持Java语言

 

PMD

网址:http://pmd.github.io/

可以分析原代码,但不能给出评分。找出只声明但没有使用过变量、空catch等。PMD使用手册。

 

Findbugs

网址:http://findbugs.sourceforge.net

可以分析原代码,但不能给出评分。

 

Checkstyle

网址:http://checkstyle.sourceforge.net

可以分析原代码,但不能给出评分。

 

JavaBrat

论文:Automatic Grading of Programming Assignments

不支持静态分析,也就是无法给出过程性得分

 

Petcha找不到

 

Jassess

网址:https://github.com/jaibuu/jAssess

论文:Java Programming Assessment Tool for Assignment Module in Moodle E-learning System

 

RoboLIFT

论文:ROBOLIFT: a vision guided autonomous fork-lift for pallet handling

上述工具来自论文:programming assignments automatic grading: review of tools and implementations

除该论文外,还有论文:towards a systematic review of automated feedback generation for programming exercises(尚未读)。

 

AutoLEP: 哈工大软件学院,苏小红实验室于2007年01月01日提出,2009年12月31日完成。原理:首先将学生程序和模板程序转换成中间表示形式- - 系统依赖图;然后建立一系列程序标准化规则,并按照该规则对系统依赖图进行语义等价的转换,消除程序表达方式的多样性;最后在语义级别上匹配标准化的学生程序系统依赖图和模板程序系统依赖图,并根据匹配结果给出学生程序的评分。但是目前尚未公开。

 

AGG 分析抽象语法图

网址:http://www.user.tu-berlin.de/o.runge/agg/down_V21_java8/index.html

已下载,并不能给出代码评分。

安装时出现问题:

解决方法:下载源码,找到AGGAppl.java,但仍然解决不了错误。修改了.bat文件后,安装成功了。研究除如何生成ggx图像,结果发现:与所需要的功能不一样,得出的图应该说是数据依赖图,并不包含结构依赖。

 

Vs也可以自动生成程序依赖图,但是所谓的程序依赖图如图,每一个节点都可以点开,查看详细内容,可惜vs2017上已经没有了这项功能。2015上也没有,可能是因为我

https://blogs.msdn.microsoft.com/jasonz/2010/02/02/favorite-vs2010-features-dependency-graphs-and-dgml/

CodeLab一个根据代码给出提示的软件,并不是评分软件。

 

Autograder需要自己训练,当然也有已经训练好的模型,但尚未验证是否支持java。Autograder使用python写的,是2012年nlp比赛的冠军。简书上有人对Autograder的评价:https://www.jianshu.com/p/f37b29a29e5b

 

Galah_master

Slithice https://github.com/juqian/Slithice

论文Slithice:一个基于系统依赖图的 Java程序切片工具

 

Indus 已下载 网址:https://forge.cs.ksu.edu/frs/?group_id=12

 

Autogradr,网址https://app.autogradr.com/,经测试只能评估是否能通过测试样例。

 

CodeCheck根据测试用例给出分数,如果未通过,则不得分。

网址http://horstmann.com/codecheck/

 

Repl.it不支持java

 

CodeHS 也是通过测试用例给出分数

网址:https://codehs.com/teacher/resources

 

上述软件大部分可以根据代码和测试用例,给出是否能通过测试用例,而并没有找到可以根据代码(无论是否能够通过编译)给出分数。

你可能感兴趣的:(代码评估)