Share this page
Share this page E-mail this page Print this page RSS feeds
Home > Publications > Using Dynamic Symbolic Execution to Improve Deductive Verification
Using Dynamic Symbolic Execution to Improve Deductive Verification

One of the most challenging problems in deductive program verification is to find inductive program invariants typically expressed using quantifiers. With strong-enough invariants, existing provers can often prove that a program satisfies its specification. However, provers by themselves do not find such invariants. We propose to automatically generate executable test cases from failed proof attempts using dynamic symbolic execution by exploring program code as well as contracts with quantifiers. A developer can analyze the test cases with a traditional debugger to determine the cause of the error; the developer may then correct the program or the contracts and repeat the process.

UsingDynamicSymbolicExecutionTo(spin2008).pdf
PDF file

In: Proc. 15th International SPIN Workshop

Publisher: Springer Verlag
All copyrights reserved by Springer 2007.

Details

Type: Inproceedings
URL: http://dx.doi.org/10.1007/978-3-540-85114-1_4
Pages: 9-25
Volume: 5156
Series: Lecture Notes in Computer Science
ISBN: 978-3-540-85113-4

Previous Versions

Dries Vanoverberghe, Nikolaj Bjørner, Jonathan de Halleux, Wolfram Schulte, and Nikolai Tillmann. Using Dynamic Symbolic Execution to Improve Deductive Verification, Springer Verlag, 2008.