This paper reports the use of proof planning to diagnose errors in program code. In particular it looks at the errors that arise in the base cases of recursive programs produced by undergraduates. It describes two classes of error that arise in this situation. The use of test cases would catch these errors but would fail to distinguish between them. The system adapts proof critics, commonly used to patch faulty proofs, to diagnose such errors and distinguish between the two classes. It has been implemented in Lambda-clam, a proof planning system, and applied successfully to a small set of examples
Coinduction is a proof rule. It is the dual of induction. It allows reasoning about non--well--found...
AbstractA widely used technique to integrate decision procedures (DPs) with other systems is to have...
AbstractWe present a framework for describing proof planners. This framework is based around a decom...
This paper reports an investigation into the link between failed proofs and non-theorems. It seeks ...
We present a framework for describing proof planners. This framework is based around a decompositio...
AbstractWe describebarnacle: a co-operative interface to theclaminductive theorem proving system. Fo...
Abstract. Proof planning is an approach to the automation of theorem proving in which search is cond...
Abstract. In this paper we propose how proof planning systems can be extended by an automated learni...
The aim of computer proof checking is not to find proofs, but to verify them. This is different fro...
This paper presents a generic architecture for proof planning systems in terms of an interaction bet...
International audienceIn a world where trusting software systems is increasingly important, formal m...
AbstractA technique for finding errors in computer programs is to translate a given program and its ...
Software verification often relies on a formal specification encoding the program properties to chec...
Centre for Intelligent Systems and their ApplicationsIn this thesis we investigate the applicability...
Software controls many aspects of our daily lives, thus, software correctness is of utmost importanc...
Coinduction is a proof rule. It is the dual of induction. It allows reasoning about non--well--found...
AbstractA widely used technique to integrate decision procedures (DPs) with other systems is to have...
AbstractWe present a framework for describing proof planners. This framework is based around a decom...
This paper reports an investigation into the link between failed proofs and non-theorems. It seeks ...
We present a framework for describing proof planners. This framework is based around a decompositio...
AbstractWe describebarnacle: a co-operative interface to theclaminductive theorem proving system. Fo...
Abstract. Proof planning is an approach to the automation of theorem proving in which search is cond...
Abstract. In this paper we propose how proof planning systems can be extended by an automated learni...
The aim of computer proof checking is not to find proofs, but to verify them. This is different fro...
This paper presents a generic architecture for proof planning systems in terms of an interaction bet...
International audienceIn a world where trusting software systems is increasingly important, formal m...
AbstractA technique for finding errors in computer programs is to translate a given program and its ...
Software verification often relies on a formal specification encoding the program properties to chec...
Centre for Intelligent Systems and their ApplicationsIn this thesis we investigate the applicability...
Software controls many aspects of our daily lives, thus, software correctness is of utmost importanc...
Coinduction is a proof rule. It is the dual of induction. It allows reasoning about non--well--found...
AbstractA widely used technique to integrate decision procedures (DPs) with other systems is to have...
AbstractWe present a framework for describing proof planners. This framework is based around a decom...