首页> 中文期刊> 《智能计算机与应用》 >基于动态检测与静态分析的自动评分方法研究

基于动态检测与静态分析的自动评分方法研究

     

摘要

为了给C语言编程题进行合理评分,本文提出了一种新型的自动评分方法,在动态检测阶段先利用KMP算法执行关键字匹配,若匹配相似度落入预期值区间,则将学生源程序转换为可执行文件,通过预先设置的测试用例来驱动评分;若关键字匹配未通过、程序无法运行或者运行期间出现异常,则执行静态分析。静态分析阶段选取控制结构作为静态评分的关键因素,采用抽象语法树作为源代码的中间转换形式,并对其标准化以消除代码语义的多样性;根据抽象语法树中的结点类型提取出控制结构子树;最后,利用基于结点权值的树编辑距离算法来匹配标准化后的学生源程序与模板程序的控制结构子树,计算相似度并给出综合评分结果。实验结果表明,该方法能够对程序进行合理有效地评分,并且具有较高的准确率。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号