Electronic Proceedings in Theoretical Computer Science (Oct 2017)

Causality-based Model Checking

  • Bernd Finkbeiner,
  • Andrey Kupriyanov

DOI
https://doi.org/10.4204/EPTCS.259.3
Journal volume & issue
Vol. 259, no. Proc. CREST 2017
pp. 31 – 38

Abstract

Read online

Model checking is usually based on a comprehensive traversal of the state space. Causality-based model checking is a radically different approach that instead analyzes the cause-effect relationships in a program. We give an overview on a new class of model checking algorithms that capture the causal relationships in a special data structure called concurrent traces. Concurrent traces identify key events in an execution history and link them through their cause-effect relationships. The model checker builds a tableau of concurrent traces, where the case splits represent different causal explanations of a hypothetical error. Causality-based model checking has been implemented in the ARCTOR tool, and applied to previously intractable multi-threaded benchmarks.