MCHyper – A Model Checker for Hyperproperties

Copyright © 2020 Saarland University

Model checking has become a critical technique in the EDA industry. Since the early days of model checking, the algorithms have improved a lot and are now able to handle substantial hardware designs. Today, various complementary verification techniques are available, including binary decision diagrams (BDDs), SAT-based bounded model checking (BMC), interpolation, and Aaron Bradley’s IC3.

Temporal logics, like LTL, CTL, and CTL*, have proven to be flexible specification languages for various application areas and their verification is well understood. However, a class of system properties with ever growing importance turned our to be inherently not expressible in standard temporal logics. One example are properties that specify how information spreads (flows) in a system, so called information-flow properties. Information-flow is typically specified as the comparison of multiple executions of the system.

Recent extensions to temporal logics alleviate this shortcoming. HyperLTL and HyperCTL* introduce quantifiers that extend the quantification of CTL* by path variables. MCHyper is a model checker for the alternation-free fragments of HyperLTL and HyperCTL* that builds on the standard verification techniques from hardware model checking. Thereby, MCHyper enables the verification of hardware designs for intricate information-flow properties. HyperLTL and HyperCTL* also include properties from other application domains. The case studies that are provided with this tool include the analysis of symmetries among the processes in a mutual exclusion protocol, and the distance of code words of error resistant codes.

Availability

The source code is available on GitHub.

The initial version by Markus N. Rabe can be downloaded here: MCHyper-0.91.tar.gz Initial release including case studies, February 2015

Try MCHyper directly in your browser without installation in our online interface and learn more about the tool in the tutorial.

License

AGPL-3.0 License

Related Publications

[CFST19] Verifying Hyperliveness
Norine Coenen, Bernd Finkbeiner, César Sánchez, and Leander Tentrup.
CAV 2019.
Implementation
[DBBFH17] Is your Software on Dope?
Pedro R. D’Argenio, Gilles Barthe, Sebastian Biewer, Bernd Finkbeiner, Holger Hermanns.
ESOP 2017.
[FRS15] Algorithms for Model Checking HyperLTL and HyperCTL*
Bernd Finkbeiner, Markus N. Rabe, and César Sánchez.
CAV 2015.
Implementation
[FR14] The Linear-Hyper-Branching Spectrum of Temporal Logics
Bernd Finkbeiner and Markus N. Rabe
Information Technology 2014
[CFKMRS14] Temporal Logics for Hyperproperties
Michael Clarkson, Bernd Finkbeiner, Masoud Koleini, Kristopher K. Micinski, Markus N. Rabe, and César Sánchez
POST 2014
Implementation
Full version available at arxiv
[DFKRS12] Model Checking Information Flow in Reactive Systems
Rayna Dimitrova, Bernd Finkbeiner, Máté Kovács, Markus N. Rabe, and Helmut Seidl
VMCAI 2012
Won the RS3 Best Paper Award! (Best among 27 papers of the RS3 project.)

Hyper

Contact

If you have questions or problems, please contact Norine Coenen.