C/C++作业自动批改:深度学习与程序合成的创新应用

版权申诉
5星 · 超过95%的资源 3 下载量 108 浏览量 更新于2024-08-10 1 收藏 4.31MB PDF 举报
C/C++作业自动批改程序是一篇关注于解决计算机教育领域中作业批改效率和质量提升的研究论文。C/C++作为系统软件开发的关键语言,其在大学计算机课程中的重要性使得作业批改成为教学过程中的核心环节。然而,随着学生规模的扩大和在线课程如MOOC的兴起,传统的人工批改方式已难以满足需求,因为其面临着作业量大、反馈不足和耗时的问题,这直接影响了教学效果。 为解决这一问题,作者提出了一种创新的自动批改方法。首先,他们利用缺陷模式和程序频谱进行综合分析,通过对缺陷程序的抽象语法树进行深入挖掘,定位潜在的错误位置。这种方法有助于更精确地识别出程序中的错误区域。 接着,作者引入深度学习技术,通过长短期神经网络学习正确程序的语句结构,形成结构模型。该模型可以预测错误程序中缺陷位置的可能语句结构,并据此生成多种可能的修复选项,增加了批改的智能化程度。 进一步,论文探讨了基于程序合成的缺陷修复选择与验证方法。通过将修复候选选项转化为选择表达式,与示例程序规则进行匹配,利用程序合成技术确保每个选择表达式的正确性,从而选出最合适的修复方案,生成修复后的正确代码。 最后,论文介绍了一个名为AutograDer的原型工具,它整合了TensorFlow深度学习工具和程序合成工具SK,实现了整个自动批改流程。这个工具的出现,不仅减轻了教师的工作负担,还提高了批改的准确性和教学效率,对于优化C/C++教学环境具有重要意义。 这篇论文主要贡献在于提出了一种结合多种技术的自动化作业批改策略,有效提升了C/C++编程作业的批改质量和速度,为现代计算机教育提供了有力支持。