Abstract
AbstractBounded Model Checking (BMC) is a powerful technique for proving unsafety. However, finding deep counterexamples that require a large bound is challenging for BMC. On the other hand, acceleration techniques compute “shortcuts” that “compress” many execution steps into a single one. In this paper, we tightly integrate acceleration techniques into SMT-based bounded model checking. By adding suitable “shortcuts” on the fly, our approach can quickly detect deep counterexamples. Moreover, using so-called blocking clauses, our approach can prove safety of examples where BMC diverges. An empirical comparison with other state-of-the-art techniques shows that our approach is highly competitive for proving unsafety, and orthogonal to existing techniques for proving safety.
Publisher
Springer Nature Switzerland
Reference36 articles.
1. Artifact for “Integrating Loop Acceleration into Bounded Model Checking” (2024). https://doi.org/10.5281/zenodo.11954015
2. Evaluation of “Integrating Loop Acceleration into Bounded Model Checking” (2024). https://loat-developers.github.io/abmc-eval/
3. Alt, L., Blicha, M., Hyvärinen, A.E.J., Sharygina, N.: SolCMC: Solidity compiler’s model checker. In: CAV 2022. LNCS, vol. 13371, pp. 325–338. Springer, Heidelberg (2022). https://doi.org/10.1007/978-3-031-13185-1_16
4. Bardin, S., Finkel, A., Leroux, J., Petrucci, L.: FAST: acceleration from theory to practice. Int. J. Softw. Tools Technol. Transf. 10(5), 401–424 (2008). https://doi.org/10.1007/s10009-008-0064-3
5. Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y.: Bounded model checking. Adv. Comput. 58, 117–148 (2003). https://doi.org/10.1016/S0065-2458(03)58003-2