Towards LTL model checking of unmodified thread-based c & c++ programs

  • Authors:
  • Jiři Barnat;Luboš Brim;Petr Ročkai

  • Affiliations:
  • Faculty of Informatics, Masaryk University, Brno, Czech Republic;Faculty of Informatics, Masaryk University, Brno, Czech Republic;Faculty of Informatics, Masaryk University, Brno, Czech Republic

  • Venue:
  • NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.