CPBPV: a constraint-programming framework for bounded program verification

Abstract : This paper studies how to verify the conformity of a program with its specification and proposes a novel constraint-programming framework for bounded program verification (CPBPV). The CPBPV framework uses constraint stores to represent both the specification and the program and explores execution paths of bounded length nondeterministically. The CPBPV framework detects nonconformities and provides counter examples when a path of bounded length that refutes some properties exists. The input program is partially correct under the boundness restrictions, if each constraint store so produced implies the postcondition. CPBPV does not explore spurious execution paths, as it incrementally prunes execution paths early by detecting that the constraint store is not consistent. CPBPV uses the rich language of constraint programming to express the constraint store. Finally, CPBPV is parameterized with a list of solvers which are tried in sequence, starting with the least expensive and less general. Experimental results often produce orders of magnitude improvements over earlier approaches, running times being often independent of the size of the variable domains.Moreover, CPBPV was able to detect subtle errors in some programs for which other frameworks based on bounded model checking have failed.
Liste complète des métadonnées

Cited literature [37 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-00510303
Contributor : Michel Rueher <>
Submitted on : Tuesday, August 17, 2010 - 10:57:11 PM
Last modification on : Monday, November 5, 2018 - 3:48:02 PM
Document(s) archivé(s) le : Tuesday, October 23, 2012 - 12:26:03 PM

File

CPBPV-constraints5.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Hélène Collavizza, Michel Rueher, Pascal Van Hentenryck. CPBPV: a constraint-programming framework for bounded program verification. Constraints, Springer Verlag, 2010, 15 (2), pp.238-264. ⟨10.1007/s10601-009-9089-9⟩. ⟨hal-00510303⟩

Share

Metrics

Record views

224

Files downloads

202