Alt-Ergo is an open-source automatic solver of mathematical formulas designed for program verification. It is based on Satisfiability Modulo Theories (SMT). Solvers of this family have made impressive advances and became very popular during the last decade. They are now used is various domains such as hardware design, software verification and formal testing.
Alt-Ergo is very successful for proving formulas generated in the context of deductive program verification. It was originally designed and tuned to be used by the Why platform. Currently, it is used as a back-end of different tools and in various settings, in particular via the Why3 platform. For instance, the Frama-C suite relies on it to prove formulas generated from C code, and the SPARK toolset uses it to check formulas produced from Ada programs. In addition, Alt-Ergo is used to prove formulas issued from B modelizations and from cryptographic protocols verification. The figure given below shows the main tools that rely on Alt-Ergo to prove the formulas they generate.
You are using Alt-Ergo in another context/tool not cited above ? Let us know !
Alt-Ergo's native input language is a polymorphic first-order logic "à la ML" modulo theories. This logic is very suitable for expressing formulas generated in the context of program verification. Currently, Alt-Ergo is capable of reasoning in the combination of the following built-in theories:
Alt-Ergo results from academic researches conducted conjointly at Laboratoire de Recherche en Informatique, Inria Saclay Ile-de-France and CNRS since 2006. Publications and theoretical foundations are available on its academic web page. Since September 2013, Alt-Ergo is maintained and distributed by the OCamlPro company. Academic researches are now conducted in collaboration with the VALS team of LRI.
The latest release of Alt-Ergo is version 2.4.1. It was released in July 28, 2021. It is available under the terms of the following license.
Alt-Ergo-Free version 2.3.0 was released in July 27, 2021. It is based on Alt-Ergo version 2.3.0, and is available under the terms of the Apache Software License version 2.0. You can see the list of CHANGES here.
|version 2.4.1 released||July 27, 2021|
|July 27, 2021||free version 2.3.0 released|
|version 2.4.0 released||January 21, 2021|
|version 2.3.3 released||August 19, 2020|
|June 2, 2020||free version 2.2.0 released|
|version 2.3.2 released||March 25, 2020|
|version 2.3.1 released||February 19, 2020|
|February 13, 2019||free version 2.0.0 released|
|version 2.3.0 released||February 11, 2019|
|version 2.2.0 released||April 21, 2018|
|version 2.1.0 released||March 14, 2018|
|version 2.0.0 released||November 14, 2017|
|version 1.30 released||November 21, 2016|
|public release 1.01
(based on v. 1.00)
|February 16, 2016|
|February 09, 2016||private release 1.20|
|October 19, 2015||private release 1.10|
|January 29, 2015||private release 1.00|
|public release 0.99.1
(based on v. 0.99)
|December 30, 2014|
|January 01, 2014||private release 0.99|
|public release 0.95.2||September 20, 2013|
|public release 0.95.1||March 05, 2013|
|public release 0.95||January 11, 2013|
|public release 0.94||December 02, 2011|
|. . .|
The Alt-Ergo Users' Club was launched in 2019, as a way for the Alt-Ergo team to get closer to their users, collect their needs, integrate them in the Alt-Ergo roadmap, and ensure sustainable funding for this project's long-term development.
We are proud to thank the first members of the Club, Adacore, CEA List, MERCE (Mitsubishi Electric R&D Centre Europe) and Trust-In-Soft for their early support!
OCamlPro is investing a lot of time to develop and maintain the Alt-Ergo theorem prover. The aims of this effort are, among others:
Our clients will have access to the sources of the latest private releases. They will also benefit from our services such as extended developer/production support, dev-on-demand, and re-licensing. Feel free to contact us for more details.
You have a problem related to formal methods ? You don't know if Alt-Ergo is suitable for your situation ? We can help you to determine the better technology to use for your need.
You are involved in a promising R&D project and you are looking for partners in the field of formal methods ? Our experienced R&D engineers will be happy to contribute to the success of your project. Feel free to contact us to see how we can collaborate.