Formal Verification of an Executable LTL Model Checker with Partial Order Reduction

Julian Brunner, Peter Lammich

Research output: Contribution to journalArticlepeer-review

289 Downloads (Pure)

Abstract

We present a formally verified and executable on-the-fly LTL model checker that uses ample set partial order reduction. The verification is done using the proof assistant Isabelle/HOL and covers everything from the abstract correctness proof down to the generated SML code. Building on Doron Peled’s paper “Combining Partial Order Reductions with On-the-Fly Model-Checking”, we formally prove abstract correctness of ample set partial order reduction. This theorem is independent of the actual reduction algorithm. We then verify a reduction algorithm for a simple but expressive fragment of Promela. We use static partial order reduction, which allows separating the partial order reduction and the model checking algorithms regarding both the correctness proof and the implementation. Thus, the Cava model checker that we verified in previous work can be used as a back end with only minimal changes. Finally, we generate executable SML code using a stepwise refinement approach. We test our model checker on some examples, observing the effectiveness of the partial order reduction algorithm.
Original languageEnglish
Pages (from-to)3-21
Number of pages18
JournalJournal of Automated Reasoning
Volume60
Issue number1
Early online date20 Jun 2017
DOIs
Publication statusPublished - 1 Jan 2018

Keywords

  • formal verification
  • model checking
  • partial order reduction

Fingerprint

Dive into the research topics of 'Formal Verification of an Executable LTL Model Checker with Partial Order Reduction'. Together they form a unique fingerprint.

Cite this