Incremental bounded software model checking

Henning Günther, Georg Weissenbacher
2014 Proceedings of the 2014 International SPIN Symposium on Model Checking of Software - SPIN 2014  
Conventional Bounded Software Model Checking tools generate a symbolic representation of all feasible executions of a program up to a predetermined bound. An insufficiently large bound results in missed bugs, and a subsequent increase of the bound necessitates the complete reconstruction of the instance and a restart of the underlying solver. Conversely, exceedingly large bounds result in prohibitively large decision problems, causing the verifier to run out of resources before it can provide a
more » ... result. We present an incremental approach to Bounded Software Model Checking, which enables increasing the bound without incurring the overhead of a restart. Further, we provide an LLVM-based open-source implementation which supports a wide range of incremental SMT solvers. We compare our implementation to other traditional non-incremental software model checkers and show the advantages of performing incremental verification by analyzing the overhead incurred on a common suite of benchmarks.
doi:10.1145/2632362.2632374 dblp:conf/spin/GuntherW14 fatcat:3mezvqldqrfvbg3tqexwxzzhkm