Results 1  10
of
11
LightWeight Theorem Proving for Debugging and Verifying Units of Code
, 2003
"... Software bugs are very difficult to detect even in small units of code. Several techniques to debug or prove correct such units are based on the generation of a set of formulae whose unsatisfiability reveals the presence of an error. These techniques assume the availability of a theorem prover capab ..."
Abstract

Cited by 51 (25 self)
 Add to MetaCart
(Show Context)
Software bugs are very difficult to detect even in small units of code. Several techniques to debug or prove correct such units are based on the generation of a set of formulae whose unsatisfiability reveals the presence of an error. These techniques assume the availability of a theorem prover capable of automatically discharging the resulting proof obligations. Building such a tool is a difficult, long, and errorprone activity. In this paper, we describe techniques to build provers which are highly automatic and flexible by combining stateoftheart superposition theorem provers and BDDs. We report experimental results on formulae extracted from the debugging of C functions manipulating pointers showing that an implementation of our techniques can discharge proof obligations which cannot be handled by Simplify (the theorem prover used in the ESC/Java tool) and performs much better on others. 1.
Verifying a file system implementation
 In Sixth International Conference on Formal Engineering Methods (ICFEM’04), volume 3308 of LNCS
, 2004
"... ..."
(Show Context)
On a Rewriting Approach to Satisfiability Procedures: Extension, Combination of Theories and an Experimental Appraisal
, 2005
"... The rewriting approach to Tsatisfiability is based on establishing termination of a rewritebased inference system for firstorder logic on the Tsatisfiability problem. Extending previous such results, including the quantifierfree theory of equality and the theory of arrays with or without exte ..."
Abstract

Cited by 28 (15 self)
 Add to MetaCart
The rewriting approach to Tsatisfiability is based on establishing termination of a rewritebased inference system for firstorder logic on the Tsatisfiability problem. Extending previous such results, including the quantifierfree theory of equality and the theory of arrays with or without extensionality, we prove termination for the theories of records with or without extensionality, integer offsets and integer offsets modulo. A general theorem for termination on combinations of theories, that covers any combination of the theories above, is given next. For empirical evaluation, the rewritebased theorem prover E is compared with the validity checkers CVC and CVC Lite, on both synthetic and realworld benchmarks, including both valid and invalid instances. Parametric synthetic benchmarks test scalability, while realworld benchmarks test ability to handle huge sets of literals. Contrary to the folklore that a generalpurpose prover cannot compete with specialized reasoners, the experiments are overall favorable to the theorem prover, showing that the rewriting approach is both elegant and practical.
Proving and debugging setbased specifications
 In Proc. of the 6th Workshop on Formal Methods
, 2003
"... Abstract. We present a technique to prove invariants of modelbased specifications in a fragment of set theory. Proof obligations containing set theory constructs are translated to firstorder logic with equality augmented with (an extension of) the theory of arrays with extensionality. The idea und ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
Abstract. We present a technique to prove invariants of modelbased specifications in a fragment of set theory. Proof obligations containing set theory constructs are translated to firstorder logic with equality augmented with (an extension of) the theory of arrays with extensionality. The idea underlying the translation is that sets are represented by their characteristic function which, in turn, is encoded by an array of Booleans indexed on the elements of the set. A theorem proving procedure automating the verification of the proof obligations obtained by the translation is described. Furthermore, we discuss how a subformula can be extracted from a failed proof attempt and used by a model finder to build a counterexample. To be concrete, we use a B specification of a simple process scheduler on which we illustrate our technique. 1.
Abstract Scalable Automated Proving and Debugging of SetBased Specifications ∗
"... We present a technique to prove invariants of modelbased specifications in a fragment of set theory. Proof obligations containing set theory constructs are translated to firstorder logic with equality augmented with (an extension of) the theory of arrays with extensionality. The idea underlying ..."
Abstract
 Add to MetaCart
(Show Context)
We present a technique to prove invariants of modelbased specifications in a fragment of set theory. Proof obligations containing set theory constructs are translated to firstorder logic with equality augmented with (an extension of) the theory of arrays with extensionality. The idea underlying the translation is that sets are represented by their characteristic function which, in turn, is encoded by an array of Booleans indexed on the elements of the set. A theorem proving procedure automating the verification of the proof obligations obtained by the translation is described. Furthermore, we discuss how a subformula can be extracted from a failed proof attempt and used by a model finder to build a counterexample. To be concrete, we use a B specification of a simple process scheduler on which we illustrate our technique. Keywords: Settheory, Firstorder logic with equal