Corpus ID: 219303507

Automatic Verification of LLVM Code

  title={Automatic Verification of LLVM Code},
  author={Axel Legay and Dirk Nowotka and Danny B{\o}gsted Poulsen},
In this work we present our work in developing a software verification tool for llvm-code - Lodin - that incorporates both explicit-state model checking, statistical model checking and symbolic state model checking algorithms. 
1 Citations
Analysis of Source Code Using UPPAAL
This paper suggests in this paper to develop a bridge between the source code and the engine of UPPAAL, which uses the widespread intermediate language LLVM and makes recent advances of the UPPAal ecosystem readily available to analysis of source code. Expand


Model Checking of C and C++ with DIVINE 4
The fourth version of the DIVINE model checker provides a modular platform for verification of real-world programs, built around an efficient interpreter of LLVM code which enables verification of code written in C and C++. Expand
LLBMC: Improved Bounded Model Checking of C Programs Using LLVM - (Competition Contribution)
LLBMC is a tool for detecting bugs and runtime errors in C and C++ programs. It is based on bounded model checking using an SMT solver and thus achieves bit-accurate precision. A distinguishingExpand
VeriSoft: A Tool for the Automatic Analysis of Concurrent Reactive Software
VeriSoft searches the state space of the system for deadlocks, livelocks, divergences, and violations of user-specified assertions in order to automatically detect coordination problems between concurrent processes. Expand
Statistical Model Checking of LLVM Code
The new tool Lodin implements a simulation engine for LLVM-bitcode and implements classic statistical model checking algorithms on top of it and provides an interactive simulation front-end. Expand
The software model checker Blast
This paper gives an introduction to Blast and demonstrates, through two case studies, how it can be applied to program verification and test-case generation. Expand
The SeaHorn Verification Framework
The key distinguishing feature of SeaHorn is its modular design that separates the concerns of the syntax of the programming language, its operational semantics, and the verification semantics that simplifies interfacing with multiple verification tools based on Horn-clauses. Expand
CBMC - C Bounded Model Checker - (Competition Contribution)
CBMC implements bit-precise bounded model checking for C programs and is now capable of finding counterexamples in all of SV-COMP’s categories. Expand
Counterexample-guided abstraction refinement for symbolic model checking
An automatic iterative abstraction-refinement methodology that extends symbolic model checking to large hardware designs and devise new symbolic techniques that analyze such counterexamples and refine the abstract model correspondingly. Expand
LLVM: a compilation framework for lifelong program analysis & transformation
  • Chris Lattner, V. Adve
  • Computer Science
  • International Symposium on Code Generation and Optimization, 2004. CGO 2004.
  • 2004
The design of the LLVM representation and compiler framework is evaluated in three ways: the size and effectiveness of the representation, including the type information it provides; compiler performance for several interprocedural problems; and illustrative examples of the benefits LLVM provides for several challenging compiler problems. Expand
Z3: An Efficient SMT Solver
Z3 is a new and efficient SMT Solver freely available from Microsoft Research that is used in various software verification and analysis applications. Expand