Program Slicing and Middle-Out Reasoning for Error Location and Repair

This paper describes a proof-based approach to the location and repair of errors in functional programs. The approach is based on the use of program slicing to locate errors and middle-out reasoning to repair them. ? ? ? ?

[1]  Andrew Ireland,et al.  Productive use of failure in inductive proof , 1996, Journal of Automated Reasoning.

[2]  Alan Smaill,et al.  Logic Program Synthesis in a Higher-Order Setting , 2000, Computational Logic.

[3]  Olaf Chitil Source-Based Trace Exploration , 2004, IFL.

[4]  Olaf Chitil,et al.  One Right Does Make a Wrong , 2006 .

[5]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[6]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

[7]  Ian Green,et al.  System Description: Proof Planning in Higher-Order Logic with Lambda-Clam , 1998, CADE.

[8]  Simon Colton,et al.  Lakatos-style methods in automated reasoning , 2003 .

[9]  Ian Green,et al.  Higher-Order Annotated Terms for Proof Search , 1996, TPHOLs.

[10]  Louise A. Dennis,et al.  Proof-Directed Debugging and Repair , 2006 .

[11]  Alan Bundy,et al.  A Science of Reasoning , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[12]  Alan Bundy,et al.  Rippling - meta-level guidance for mathematical reasoning , 2005, Cambridge tracts in theoretical computer science.

[13]  Louise A. Dennis,et al.  The Use of Proof Planning Critics to Diagnose Errors in the Base Cases of Recursive Programs , 2004 .

[14]  Alan Bundy,et al.  Using Middle-Out Reasoning to Control the Synthesis of Tail-Recursive Programs , 1992, CADE.

[15]  Raúl Monroy,et al.  Predicate Synthesis for Correcting Faulty Conjectures: The Proof Planning Paradigm , 2003, Automated Software Engineering.

[16]  I. Lakatos PROOFS AND REFUTATIONS (I)*† , 1963, The British Journal for the Philosophy of Science.

[17]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.

[18]  Louise A. Dennis,et al.  What can be learned from failed proofs of non-theorems? , 2005 .