[![Travis][travis badge]][travis]
[![Codecov][codecov badge]][codecov]
[![Erlang Versions][erlang versions badge]][travis]

# Concuerror

Concuerror is a stateless model checking tool for Erlang programs. It can be used to systematically test programs for concurrency errors, detect and report errors that only occur on few, specific schedulings or **verify** their absence.

[Visit the website][website] to find out more!

## How to build

* Compile             : `make`
* Build documentation : `make edoc`
* Run the testsuites  : `make tests tests-real tests-unit`
* Run Dialyzer        : `make dialyzer`
* Run Elvis           : `make lint`
* Check code coverage : `make cover`
* Cleanup             : `make clean`

The preferred way to start concuerror is via the `bin/concuerror` escript.

## Is there a changelog?


## Copyright and License

Copyright (c) 2014-2018,
Stavros Aronis (<>) and
Kostis Sagonas (<>).
All rights reserved

Copyright (c) 2011-2013,
Alkis Gotovos (<>),
Maria Christakis (<>) and
Kostis Sagonas (<>).
All rights reserved.

Concuerror is distributed under the Simplified BSD License.
Details can be found in the [LICENSE][license] file.

<!-- Links -->
[changelog]: ./
[license]: ./LICENSE

<!-- Badges -->
[codecov badge]:
[erlang versions badge]:
[travis badge]: