Bounded model checking of software using SMT solvers instead of SAT solvers

  • Authors:
  • Alessandro Armando;Jacopo Mantovani;Lorenzo Platania

  • Affiliations:
  • Università degli Studi di Genova, Artificial Intelligence Laboratory, DIST, Viale F. Causa 13, 16145, Genoa, Italy;Università degli Studi di Genova, Artificial Intelligence Laboratory, DIST, Viale F. Causa 13, 16145, Genoa, Italy;Università degli Studi di Genova, Artificial Intelligence Laboratory, DIST, Viale F. Causa 13, 16145, Genoa, Italy

  • Venue:
  • International Journal on Software Tools for Technology Transfer (STTT)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

C bounded model checking (cbmc) has proved to be a successful approach to automatic software analysis. The key idea is to (i) build a propositional formula whose models correspond to program traces (of bounded length) that violate some given property and (ii) use state-of-the-art SAT solvers to check the resulting formulae for satisfiability. In this paper, we propose a generalisation of the cbmc approach on the basis of an encoding into richer (but still decidable) theories than propositional logic. We show that our approach may lead to considerably more compact formulae than those obtained with cbmc. We have built a prototype implementation of our technique that uses a satisfiability modulo theories (SMT) solver to solve the resulting formulae. Computer experiments indicate that our approach compares favourably with—and on some significant problems outperforms—cbmc.