> <span class="divine">DIVINE</span> is a modern explicit-state model
> checker. Building on high­-per­for­mance algorithms and data structures, it
> offers unparalleled versatility, sca­ling from a typical developer's laptop,
> up to a high-end compute cluster. What more, it can verify a wide range of
> languages, including **C** and **C++**. Learn more in the
> [manual](manual.html), or [try it out](try.cgi).

Feature Highlights
==================

 * Verifies models in multiple **input formats**:
    - **LLVM** bitcode (suitable for model checking C and C++ code)
    - **UPPAAL** timed automata
    - **DVE** -- the original DIVINE modelling language
    - user-implemented, compiled models via [CESMI] [3]
    - **MurPHI**, including symmetry reduction
    - **CoIn** -- for modelling with component interaction automata
 * Executes on a cluster of multi-core machines
 * Partial order reduction for DVE, CoIn
 * Runs on **Linux** and **MS Windows** (a Windows installer is available)
 * A **GUI**, with a simulator and a counter-example analyser for DVE

DIVINE 3.0 has been released
============================

(2013-07-13) The final version of DIVINE 3.0 has been released today. Get the
[source code] [1] or [pre-built binaries] [2]! The changelog is here: [what's
new](whatsnew.html). The major highlights of the 3.0 release are:

 * Support for model checking of C and C++ code via LLVM bitcode (safety and LTL).
 * Model checking of timed automata (safety, time deadlocks and untimed LTL).
 * A stable binary interface for compiled models: [CESMI] [3].
 * Weak fairness for DVE.
 * Hash compaction.
 * Experimental support for shared-memory hashtables and queues.

DIVINE 3.1 alpha 2 has been released
====================================

(2013-10-27) We are pleased to announce another alpha release in preparation of
version 3.1 of DIVINE. Please download the [source code] [1] (or visit [our
hydra] [4] to obtain recent binary snapshots) and help us by testing this
pre-release.

The major improvements making a debut in version 3.1 are more sophisticated
shared-memory verification, lossless tree-based state space compression,
improved performance and substantially improved memory efficiency. The series
also includes improved support for compilation of C++ into LLVM bitcode (now
including the standard library out of the box) and improvements to the DVE
specification language.

Additionally, a number of improvements and bug fixes has been added since the
last alpha release in summer. Please consult the [changelog] [5].

[1]: download.html
[2]: http://divine.fi.muni.cz/hydra/jobset/divine/release
[3]: manual.html#common-explicit-state-model-interface
[4]: http://divine.fi.muni.cz/hydra/project/divine
[5]: whatsnew.html

Contacting Us
=============

If you have comments or questions about DIVINE, please email divine at
fi.muni.cz. To file a bug report or an enhancement request, please [use our
trac](http://divine.fi.muni.cz/trac/newticket).

Use in Publications
===================

When you refer to DIVINE in an academic paper, we would appreciate if you could
use the following reference (the currently most up-to-date tool paper on
DIVINE):

    @InProceedings{BBH+13,
      author    = "Jiří Barnat and Luboš Brim and Vojtěch Havel
                   and Jan Havlíček and Jan Kriho and Milan Lenčo
                   and Petr Ročkai and Vladimír Štill and Jiří Weiser",
      title     = "{DiVinE 3.0 -- An Explicit-State Model Checker
                    for Multithreaded C \& C++ Programs}",
      booktitle = "{Computer Aided Verification (CAV 2013)}",
      pages     = "863--868",
      volume    = "8044",
      series    = "LNCS",
      year      = "2013",
      publisher = "Springer"
    }
