...
首页> 外文期刊>IEEE Transactions on Software Engineering >Transformation-based diagnosis of student programs for programming tutoring systems
【24h】

Transformation-based diagnosis of student programs for programming tutoring systems

机译:基于转换的学生程序诊断,用于编程辅导系统

获取原文
获取原文并翻译 | 示例
           

摘要

A robust technology that automates the diagnosis of students' programs is essential for programming tutoring systems. Such technology should be able to determine whether programs coded by a student are correct. If a student's program is incorrect, the system should be able to pinpoint errors in the program as well as explain and correct the errors. Due to the difficulty of this problem, no existing system performs this task entirely satisfactorily, and this problem still hampers the development of programming tutoring systems. This paper describes a transformation-based approach to automate the diagnosis of students' programs for programming tutoring systems. Improved control-flow analysis and data-flow analysis are used in program analysis. Automatic diagnosis of student programs is achieved by comparing the student program with a specimen program at the semantic level after both are standardized. The approach was implemented and tested on 525 real student programs for nine different programming tasks. Test results show that the method satisfies the requirements stated above. Compared to other existing approaches to automatic diagnosis of student programs, the approach developed here is more rigorous and safer in identifying student programming errors. It is also simpler to make use of in practice. Only specimen programs are needed for the diagnosis of student programs. The techniques of program standardization and program comparison developed here may also be useful for research in the fields of program understanding and software maintenance.
机译:自动化诊断学生程序的强大技术对于编程补习系统至关重要。这种技术应该能够确定学生编写的程序是否正确。如果学生的程序不正确,则系统应该能够查明程序中的错误,并能够解释和纠正错误。由于该问题的困难,没有现有的系统可以完全令人满意地执行该任务,并且该问题仍然妨碍编程辅导系统的开发。本文介绍了一种基于变换的方法来自动诊断用于编程补习系统的学生程序。在程序分析中使用了改进的控制流分析和数据流分析。通过将学生程序与标本程序在语义级别上进行比较,可以对学生程序进行自动诊断。该方法已针对九种不同的编程任务在525个实际的学生程序中实施和测试。测试结果表明,该方法满足上述要求。与其他现有的自动诊断学生程序的方法相比,此处开发的方法在识别学生程序错误方面更加严格和安全。在实践中也更容易使用。诊断学生程序仅需要样本程序。这里开发的程序标准化和程序比较技术也可能对程序理解和软件维护领域的研究有用。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号