基于语义相似度的编程题自动评分方法的分析

基于语义相似度的编程题自动评分方法的分析

ID:32060934

大小:1.55 MB

页数:60页

时间:2019-01-31

基于语义相似度的编程题自动评分方法的分析_第1页
基于语义相似度的编程题自动评分方法的分析_第2页
基于语义相似度的编程题自动评分方法的分析_第3页
基于语义相似度的编程题自动评分方法的分析_第4页
基于语义相似度的编程题自动评分方法的分析_第5页
资源描述:

《基于语义相似度的编程题自动评分方法的分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、婿尔滨1_业火学T学硕I.学位论文难点。自20世纪60年代以来,国内外许多专家和学者就致力于编程题计算机自动评分技术的研究,也出现了各种不同的自动评分系统。按照采用的评分方法来分主要分为三大类:第一类是软件质量度量方法;第二类是动态分析方法;第三类是源程序分析比较方法。软件质量度量方法基于软件复杂性度量和程序特征来评价学生程序的质量,从而给学生程序评分。它是基于假设:如果两段代码片段的度量参数相似,那么它们可能有相似的结构、数据流以及控制流特征。这样的系统主要有如下儿个:(1)ASSYST系统【2l通过对程序的正确性、效率、风格、复杂度进行度量给程序评分。(2)Knots系统13J通过控

2、制流图测量学生程序的复杂程度。(3)VerilogLogiscope系统【4I通过测量学生程序的内部属性计算一系列度量参数值,如:代码行数、运算符个数、Cylomatic复杂度等,对学生的圆+程序进行评分。【4)文献[5]通过学生程序与模板程序的性能的差异程度对学生程序进行评估,详细讨论了正确性、效率、数据覆盖、复杂度等度量参数对评分的影响。程序的正确性是通过测量学生程序的输出与期望的输出之间的匹配程度确定的。(5)文献[6]提出了一个分析程序风格的技术。通过计算模块长度、标识符长度、保留字个数、“include”文件个数、goto语句个数等度量参数为学生程序评分。虽然软件质量度量方法中

3、的这些度量参数能够表示程序的结构、∥0模式、数据流以及控制流敏感的特征,但它在分析源代码结构时理解性较差,且不能分析程序的语义,只使用该技术给学生程序评分很难得到令人满意的结果。动态分析方法是将源程序编译为可执行文件,并输入某些特别选择的测试数据集,比较运行结果与期望结果即可知道答案的正确性,从而给学生程序评分。这样的系统主要有如下几个:(11TRY系统[71提供了自动测试环境。该系统对学生文件进行编译,并采用预先定义的输入文件集合作为输入,运行程序并输出结果,然后将输出结果与预先定义的输出文件集合进行比较来给学生程序评分。(2)PSGE系统【8】是基于UNIX的程序提交的评分环境,它支

4、持半自动和全自动评分。学生必须确保提交的程序能够在UNIX环境下编译和执行。由喻尔演r业大学T学硕。卜学位论文数据文件提供输入,将得到的实际结果和期望结果进行匹配为学生程序评分。(3)BAGS系统一J也是通过运行程序,根据结果的正确性和所用的处理时I’自J给学生程序评分。(4)HOGG【I玑⋯仿照软件测试过程对iava程序进行评分。浚系统提供程序编译、执行和评分环境,将学生提交的答案与期望的答案进行比较,给出分数。它通过使用映射类、iava继承机制、和n,,规则表达式,能够对含有错误的程序进行评分。通过japa继承机制,使用正确的方法重写学生程序中有错误的方法,使得评分系统能够持续进行评

5、分操作。(5)文献[12]中给出了一个编程考试中源程序的机器评卷系统。该系统通过运行一个评卷程序来编译、链接、运行考生的源程序,最后将输出文件与标准答案比较并记分。(6)文献【13]中给出了一个FOXBASE自动阅卷程序。考生上机编程、调试并将源程序存盘,然后评卷教师运行考生程序,再将运行结果和标准答案运行结果相比较来完成评卷。动态分析方法是判定程序功能等价最直接、准确的方法。但由于学生在考试中的程序中往往存在词法或语法错误,绝大多数不具备可执行性,或常常由于语义错误导致死循环,得不到执行结果,因此通过动念执行学生程序进行评分也是不合适的。源程序分析比较方法通过将学生程序与标准答案程序的

6、源代码进行分析和比较给出学生成绩。这样的系统主要有:(1)ELP系统【14】使用了静念分析框架,该框架使用了软件质量度量分析和结构相似度分析来评判学生的java程序的质量。结构相似度分析是对学生程序和模板程序的结构进行比较,在分析过程中使用抽象语法树表示程序的抽象算法结构,学生程序和模板程序均转换为以XML形式表示的抽象语法树,通过比较学生程序和模板程序的XML抽象表示找出区别、指出相似度。该框架仅能处理填空编程题并且不能进行语义分析,只能分析语法正确的程序。(2)文献【15]对网络教学中的c程序填空题的机器批改技术进行了探讨。它从程序语义方面来考虑程序设计题答案的正误:对标准答案按逻辑

7、等价、运算等价和运算符等价等进行等价方式变换,同时滤去回答中的冗余括号、空格和数值与逻辑运算,然后通过直接比较字符串来确定回答的正误,进行评分。此系统只能处理简单的填空题。喻尔滨工业人学工学硕I“学位论文源程序分析比较方法很适合学生程序的计算机自动评分,但由于其实现具有相当的难度,目前国内外在这方面的研究还不是很多,真『F实用的系统更少,基于完整源程序分析的自动评分系统就更少了。1.3基于程序理解的编程题自动评分模型简介程序理解是软

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。