A deadlock detection tool for concurrent Java programs
Software—Practice & Experience
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Logic Verification of ANSI-C Code with SPIN
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
Ten Years of Partial Order Reduction
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Static Analysis for State-Space Reductions Preserving Temporal Logics
Formal Methods in System Design
CMC: a pragmatic approach to model checking real code
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
Spin model checker, the: primer and reference manual
Spin model checker, the: primer and reference manual
Verifying Multi-threaded C Programs with SPIN
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
MoonWalker: Verification of .NET Programs
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,
Software verification with BLAST
SPIN'03 Proceedings of the 10th international conference on Model checking software
An automata-based symbolic approach for verifying programs on relaxed memory models
SPIN'10 Proceedings of the 17th international SPIN conference on Model checking software
DiVinE: Parallel Distributed Model Checker
PDMC-HIBI '10 Proceedings of the 2010 Ninth International Workshop on Parallel and Distributed Methods in Verification, and Second International Workshop on High Performance Computational Systems Biology
Industrial Strength Distributed Explicit State Model Checking
PDMC-HIBI '10 Proceedings of the 2010 Ninth International Workshop on Parallel and Distributed Methods in Verification, and Second International Workshop on High Performance Computational Systems Biology
Distributed LTL Model Checking with Hash Compaction
Electronic Notes in Theoretical Computer Science (ENTCS)
LLVMVF: A Generic Approach for Verification of Multicore Software
Journal of Electronic Testing: Theory and Applications
Hi-index | 0.00 |
In this paper we present a new approach to verification of multi-threaded C/C++ programs. Our solution effectively chains the parallel and distributed-memory model checker DiVinE with CLang and the LLVM bitcode interpreter. This combination offers full LTL, distributed-memory model checking of virtually unmodified C/C++ source code and is supported by a newly introduced path-reduction technique. We demonstrate the efficiency of the reduction and also the capacity to produce human-readable counter-examples in two small case studies: a C implementation of the Peterson's mutual exclusion protocol and a C++ implementation of a shared-memory, lock-free FIFO data structure designed for fast inter-thread communication.