Symbolic Detection of Assertion Dependencies for Bounded Model Checking Grigory Fedyukovich 1 , Andrea Callia D’Iddio 2 , Antti E. J. Hyv¨ arinen 1 , and Natasha Sharygina 1 1 Formal Verification Lab of the Faculty of Informatics, Universit` a della Svizzera italiana, Lugano, Switzerland 2 University of Rome Tor Vergata, Rome, Italy Abstract. Automatically generating assertions through static or run- time analysis is becoming an increasingly important initial phase in many software testing and verification tool chains. The analyses may generate thousands of redundant assertions often causing problems later in the chain, including scalability issues for automatic tools or a prohibitively large amount of information for final processing. We present an algorithm which uses a SAT solver on a bounded symbolic encoding of the program to reveal the implication relationships among spatially close assertions for use in a variety of bounded model checking applications. Our exper- imentation with different applications demonstrates that this technique can be used to reduce the number of assertions that need to be checked thus improving overall performance. 1 Introduction An important part of many of the approaches for increasing software quality through formal methods is to infer potential correctness properties from a pro- gram. Such properties can be obtained in the form of assertions from the source code, or behavior observed during run time [19,6,17,13,24]. The assertions can then be verified against the source code using static-analysis methods such as model checking [5,22]. In the paper, we study how Bounded Model Checking [1] (BMC) can be used in verifying assertions generated by automated software analysis. We propose a generic framework for identifying implication relations between assertions, and study how obtaining information about the implication relation between assertions can be used in finding redundant assertions. This knowl- edge becomes useful when the number of assertions generated automatically grows large. For instance, in our experiments, independently on the settings of the assertion synthesiser, the number is typically in the order of hundreds and sometimes much higher. The machine-generated assertions are often redundant in the sense that a BMC algorithm only needs to verify a subset of these assertions and can safely skip the rest if the verification was successful. This observation opens new op- portunities for speeding up the computationally expensive BMC algorithms. For