Model Checking Using SMT and Theory of Lists

8 years 1 months ago
Model Checking Using SMT and Theory of Lists
A main idea underlying bounded model checking is to limit the length of the potential counter-examples, and then prove properties for the bounded version of the problem. In software model checking, that means that only program traces up to a given length are considered. Additionally, the program’s input space must be made finite by defining bounds for all input parameters. To ensure the finiteness of the program traces, these techniques typically require that all loops are explicitly unrolled some constant number of times. Here, we show how to avoid explicit loop unrolling by using the SMT Theory of Lists to model feasible, potentially unbounded program traces. We argue that this approach is easier to use, and, more importantly, increases the confidence in verification results over the typical bounded approach. To demonstrate the feasibility of this idea, we implemented a fully automated prototype software model checker and verified several example algorithms. We also applied o...
Aleksandar Milicevic, Hillel Kugler
Added 14 May 2011
Updated 14 May 2011
Type Journal
Year 2011
Where NFM
Authors Aleksandar Milicevic, Hillel Kugler
Comments (0)