Authors
Franjo Ivančić, Zijiang Yang, Malay K Ganai, Aarti Gupta, Pranav Ashar
Publication date
2008/9/28
Journal
Theoretical Computer Science
Volume
404
Issue
3
Pages
256-274
Publisher
Elsevier
Description
This paper discusses our methodology for formal analysis and automatic verification of software programs. It is applicable to a large subset of the C programming language that includes pointer arithmetic and bounded recursion. We consider reachability properties, in particular whether certain assertions or basic blocks are reachable in the source code, or whether certain standard property violations can occur. We perform this analysis via a translation to a Boolean circuit representation based on modeling basic blocks. The program is then analyzed by a back-end SAT-based bounded model checker, where each unrolling is mapped to one step in a block-wise execution of the program. The main contributions of this paper are as follows: (1) Use of basic block-based unrollings with SAT-based bounded model checking of software programs. This allows us to take advantage of SAT-based learning inherent to the best …
Total citations
200420052006200720082009201020112012201320142015201620172018201920202021202220232024112434610310156851210121351074
Scholar articles
F Ivančić, Z Yang, MK Ganai, A Gupta, P Ashar - Theoretical Computer Science, 2008
P Ashar, MK Ganai, A Gupta, F Ivancic, Z Yang - ISoLA (Preliminary proceedings), 2004