LLBMC: a bounded model checker for LLVM's intermediate representation

  • Authors:
  • Carsten Sinz;Florian Merz;Stephan Falke

  • Affiliations:
  • Institute for Theoretical Computer Science, Karlsruhe Institute of Technology (KIT), Germany;Institute for Theoretical Computer Science, Karlsruhe Institute of Technology (KIT), Germany;Institute for Theoretical Computer Science, Karlsruhe Institute of Technology (KIT), Germany

  • Venue:
  • TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present LLBMC, a bounded model checker for C programs. LLBMC uses the LLVM compiler framework in order to translate C programs into LLVM's intermediate representation (IR). The resulting code is then converted into a logical representation and simplified using rewrite rules. The simplified formula is finally passed to an SMT solver. In contrast to many other tools, LLBMC uses a flat, bit-precise memory model. It can thus precisely model, e.g., memory-based re-interpret casts.