Symbolic model checking: 1020 states and beyond
Information and Computation - Special issue: Selections from 1990 IEEE symposium on logic in computer science
Symbolic Model Checking without BDDs
TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Calysto: scalable and precise extended static checking
Proceedings of the 30th international conference on Software engineering
Efficient SAT-based bounded model checking for software verification
Theoretical Computer Science
Bounded model checking of software using SMT solvers instead of SAT solvers
International Journal on Software Tools for Technology Transfer (STTT)
A Scalable Memory Model for Low-Level Code
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
Symbolic program analysis using term rewriting and generalization
Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design
Boolector: An Efficient SMT Solver for Bit-Vectors and Arrays
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Towards automatic software model checking of thousands of Linux modules—a case study with Avinux
Software Testing, Verification & Reliability
A Precise Yet Efficient Memory Model For C
Electronic Notes in Theoretical Computer Science (ENTCS)
Unit Testing of Flash Memory Device Driver through a SAT-Based Model Checker
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
SMT-Based Bounded Model Checking for Embedded ANSI-C Software
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
A decision procedure for bit-vectors and arrays
CAV'07 Proceedings of the 19th international conference on Computer aided verification
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
A precise memory model for low-level bounded model checking
SSV'10 Proceedings of the 5th international conference on Systems software verification
Model checking using SMT and theory of lists
NFM'11 Proceedings of the Third international conference on NASA Formal methods
KLOVER: a symbolic execution and automatic test generation tool for C++ programs
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Software verification using k-induction
SAS'11 Proceedings of the 18th international conference on Static analysis
URBiVA: uniform reduction to bit-vector arithmetic
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Development and evaluation of LAV: an SMT-based error finding platform
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
LLBMC: a bounded model checker for LLVM's intermediate representation
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
A case study in verification of embedded network software
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
FAuST: a framework for formal verification, automated debugging, and software test generation
SPIN'12 Proceedings of the 19th international conference on Model Checking Software
Generation of TLM testbenches using mutation testing
Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
Improving integer security for systems with KINT
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Ramsey vs. lexicographic termination proving
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
LLBMC: improved bounded model checking of c programs using LLVM
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Software verification and graph similarity for automated evaluation of students' assignments
Information and Software Technology
Overify: optimizing programs for fast verification
HotOS'13 Proceedings of the 14th USENIX conference on Hot Topics in Operating Systems
Better termination proving through cooperation
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
LLVMVF: A Generic Approach for Verification of Multicore Software
Journal of Electronic Testing: Theory and Applications
Hi-index | 0.00 |
Bounded model checking (BMC) of C and C++ programs is challenging due to the complex and intricate syntax and semantics of these programming languages. The BMC tool LLBMC presented in this paper thus uses the LLVM compiler framework in order to translate C and C++ programs into LLVM's intermediate representation. 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 as used in C and static/dynamic casts as used in C++. An empirical evaluation shows that LLBMC compares favorable to the related BMC tools CBMC and ESBMC.