首页   按字顺浏览 期刊浏览 卷期浏览 Automatic program debugging for intelligent tutoring systems
Automatic program debugging for intelligent tutoring systems

 

作者: William R. Murray,  

 

期刊: Computational Intelligence  (WILEY Available online 1987)
卷期: Volume 3, issue 1  

页码: 1-16

 

ISSN:0824-7935

 

年代: 1987

 

DOI:10.1111/j.1467-8640.1987.tb00169.x

 

出版商: Blackwell Publishing Ltd

 

关键词: intelligent tutoring systems;automated program debugging;program verification;systéme tutéur intelligent;correction automatique de programmes;vérification de programme

 

数据来源: WILEY

 

摘要:

Program debugging is an important part of the domain expertise required for intelligent tutoring systems that teach programming languages. This article explores the process by which student programs can be automatically debugged in order to increase the instructional capabilities of these systems. The research presented provides a methodology and implementation for the diagnosis and correction of nontrivial recursive programs. In this approach, recursive programs are debugged by repairing induction proofs in the Boyer‐Moore logic. The induction proofs constructed and debugged assert the computational équivalence of student programs to correct exemplar solutions. Exemplar solutions not only specify correct implementations but also provide correct code to replace buggy student code. Bugs in student code are repaired with heuristics that attempt to minimize the scope of repair.The automated debugging of student code is greatly complicated by the tremendous variability that arises in student solutions to nontrivial tasks. This variability can be coped with, and debugging performance improved, by explicit reasoning about computational semantics during the debugging process. This article supports these claims by discussing the design, implementation, and evaluation ofTalus,an automatic debugger for LISP programs, and by examining related work in automated program debugging.Talus relies on its abilities to reason about computational semantics to perform algorithm recognition, infer code teleology, and to automatically detectandcorrect nonsyntactic errors in student programs written in a restricted, but nontrivial, subset of LISP. Solutions can vary significantly in algorithm, functional decomposition, role of variables, data flow, control flow, values returned by functions, LISP primitives used, and identifiers used. Solutions can consist of multiple functions, each containing multiple bugs. Empiricial evaluation demonstrates that Talus achieves high performance in debugging widely varying student solutions to challenging tas

 

点击下载:  PDF (1453KB)



返 回