Skip to Main content Skip to Navigation
Reports

Integration of Theorem-proving and Constraint Programming for Software Verification

Abstract : A novel approach to program verification combining constraint programming methods with theorem proving is proposed. Starting from an initial symbolic state and precondition, a program is symbolically executed along all feasible paths and then a post-condition is proved or refuted on the final states. Symbolic execution is by mecha-nised reduction of a formal semantics applied to the program. The constraint solver incrementally prunes execution paths by testing if conditions are feasible in the current state. At the end of each path, deductive theorem proving and constraint solving are tried in sequence. If the theorem prover fails, the constraint solver provides a decision procedure for a finite subset of integers. It can also efficiently compute counterexamples. There is a flexible trade-off between speed and assurance. Oracles may be employed as solvers to boost efficiency, but slower formal tools (au-tomatic or interactive) can be used when higher assurance is needed, or the proof requires manual guidance. Theorems proved with oracles are tagged, so the weakest link in a verification is apparent. The approach has been successfully applied to textbook algorithms and first results show that it is quite efficient. On simple examples most of the proofs are done by the theorem prover, the constraint solver is mainly used to compute counterexamples and check non-linear expressions.
Complete list of metadatas

https://hal.archives-ouvertes.fr/hal-03015714
Contributor : Hélène Collavizza <>
Submitted on : Friday, November 20, 2020 - 8:42:09 AM
Last modification on : Tuesday, November 24, 2020 - 3:23:37 AM

File

tacas09-CollavizzaGordon-submi...
Files produced by the author(s)

Identifiers

  • HAL Id : hal-03015714, version 1

Collections

Citation

Hélène Collavizza, Mike Gordon. Integration of Theorem-proving and Constraint Programming for Software Verification. [Research Report] Laboratoire I3S. 2009. ⟨hal-03015714⟩

Share

Metrics

Record views

10

Files downloads

12