软件验证的SMT求解器

Alt-Ergo是一个数学公式的自动校准器,用于支持软件验证工具,如Frama-C、SPARK、Why3、Atelier-B和Caveat。

尝试联机 安装 文档 Alt-Ergo用户俱乐部 服务 出版物

最新消息


  • 10月18, 2023发布次要版本2.5.2。
  • 九月14, 2023发布次要版本2.5.1。
  • 九月6, 2023版本2.5.0的发布。
  • 四月27, 2023发布次要版本2.4.3。
  • 八月01, 2022发布次要版本2.4.2。
  • 五月20, 2022版本2.3.3变为Alt-Ergo-Free 2.3.3。
  • 七月27, 2021发布次要版本2.4.1。
  • 22, 2021版本2.4.0的发布。
  • 八月19, 2020发布次要版本2.3.3。
  • 六月2, 2020版本2.2.0变为Alt-Ergo-Free 2.2.0。
  • 3月25, 2020发布次要版本2.3.2。
  • 二月19, 2020发布次要版本2.3.1。
  • 二月14, 2020Alt-Ergo用户俱乐部第二届年会。
  • 七月7, 2019参加SMT-COMP:结果.
  • 更多新闻 了解更多信息.

关于

什么是Alt-Ergo?


Alt-Ergo是一个开源的数学公式自动求解器,设计用于程序验证。它基于可满足性模理论(SMT)。这个家族的解决方案取得了令人瞩目的进展,在过去十年中变得非常受欢迎。它们现在用于各种领域,如硬件设计、软件验证和正式测试。


Alt-Ergo有什么好处?


Alt-Ergo在证明上下文中生成的公式方面非常成功演绎程序验证。它最初的设计和调整为为什么选择平台。目前,它是用作不同工具和各种设置的后端,特别是通过Why3平台例如,这个Frama-C套件依靠它来证明公式由C代码生成,并且SPARK工具集用它来检查Ada程序生成的公式。此外,Alt-Ergo是用于证明从B建模和来自密码协议验证.给出的数字下面显示了依赖Alt-Ergo来证明其生成的公式的主要工具。

Alt-Ergo蜘蛛网


您正在其他上下文/工具中使用Alt-Ergo?让我们知道!


发动机罩下


Alt-Ergo的原生输入语言是多态的一阶逻辑“a la ML(百万富翁)"模理论。此逻辑非常适合表示在程序验证的上下文。目前,Alt-Ergo能够结合以下内置理论进行推理:

  • 带有未解释符号的自由平等理论,
  • 整数和有理数的线性算术,
  • 非线性算法片段,
  • 具有扩展性的多态函数数组,
  • 枚举数据类型,
  • 记录数据类型,
  • 关联和交换(AC)符号,
  • 具有连接和提取操作符的固定大小的位向量。

起源


Alt-Ergo的研究结果来自于Recherche实验室信息学,Inria Saclay Ile-de-France公司中国科学院自2006年起。出版物和理论其上有可用的基础学术网页.自2013年9月起,Alt-Ergo由OCaml专业公司。学术研究现在在与LRI的VALS团队合作。

巴黎南大学 LRI公司 INRIA Saclay Ile-de-France公司 中国科学院

联机版本


尝试Alt-Ergo是直接在浏览器中运行的Alt-Ergo的Javascript版本。你不需要安装任何东西就可以开始使用它。


新建Try-Alt-Ergo 博客帖子 Alt-Ergo语法文档

Javascript版本还用作中的后端证明程序TryWhy3型.

旧版本

尝试Alt Ergo 小型教程

发布

Alt-Ergo根据OCamlPro非商业许可证(阿尔特-埃尔戈Opam),或根据开放源代码许可证延迟一两年(无alt-ergoOpam)。

最新版本


Alt-Ergo的最新版本是版本2.5.2。它是2023年10月18日发布。根据以下条款提供许可证.

请按照以下链接下载Alt-Ergo,报告错误或提出问题。您可能还想阅读变化或者看看我们的文档.

源和二进制文件


(遵循中的说明在这里安装Alt-Ergo)

github.com/OCamlPro/alt-ergo/tree/v2.5.x

阿尔戈-v2.5.2.tar.gz

 

OPAM包


$opam安装阿尔特-埃尔戈



最新免费版本


Alt-Ergo-Free备用2.3.3版2022年5月20日发布。它基于Alt-Ergo 2.3.3版,并根据条款提供Apache软件许可证2.0版。

源和二进制文件


(遵循INSTALL.md中的说明)
github.com/OCamlPro/alt-ergo/tree/2.3.3-免费
alt-ergo-free 2.3.3.tar.gz
 

OPAM包


$opam安装无alt-ergo。2.3.3



发布历史记录


版本2.5.2发布 2023年10月18日
版本2.5.1发布 2023年9月14日
版本2.5.0发布 2023年9月6日
版本2.4.3发布 2023年4月27日
2.4.2版发布 2022年8月1日
2.4.1版发布 2021年7月27日
2021年7月27日 发布免费版本2.3.0
2.4.0版发布 2021年1月21日
版本2.3.3发布 2020年8月19日
2020年6月2日 发布免费版本2.2.0
版本2.3.2发布 2020年3月25日
版本2.3.1发布 2020年2月19日
2019年2月13日 免费版本2.0.0发布
版本2.3.0发布 2019年2月11日
2.2.0版发布 2018年4月21日
2.1.0版本发布 2018年3月14日
2.0.0版发布 2017年11月14日
版本1.30发布 2016年11月21日
公开发布1.01
(基于第1.00节)
2016年2月16日
2016年2月9日 私有版本1.20
2015年10月19日 私有版本1.10
2015年1月29日 私人发行1.00
公开发布0.99.1
(基于0.99版)
2014年12月30日
2014年1月1日 私有版本0.99
公开发布0.95.2 2013年9月20日
Alt-Ergo@OCamlPro(可选)
公开发布0.95.1 2013年3月5日
公开发布0.95 2013年1月11日
公开发布0.94 2011年12月2日
. . .

Alt-Ergo用户俱乐部

什么是Alt-Ergo用户俱乐部?


Alt-Ergo用户俱乐部于2019年成立,作为Alt-Ergo团队更接近用户,收集他们的需求,将其纳入Alt-Ergo路线图,并确保为这个项目的长期发展。

我们很荣幸地感谢俱乐部成员、Adacore、Thales、CEA List、MERCE(三菱电气欧洲研发中心)和Trust-In-Soft感谢他们的支持!

adacore徽标 对软标志的信任 泰利斯标志 三菱标志 cea列表徽标

2.6.0版本的路线图


  • 支持LIA和LRA理论模型的优化;
  • 地面模型检查;
  • 支持SMT-LIB标准的浮动理论;
  • 改进部分解释函数的常量传播。

加入俱乐部


  • 自定义许可
  • 专用支持
  • 优先考虑您的需求
加入俱乐部!

服务

Alt-Ergo@OCamlPro


OCamlPro正在投入大量时间开发和维护Alt-Ergo定理证明程序。这项工作的目的包括:

  • 为全球和学术界用户提供高效的开源软件SMT解决方案在基本支持范围内进行验证,以学习如何使用它;
  • 为开发商和工业用户提供优质的工业支持,以便从解算器中获得最佳性能。

我们的客户将可以访问最新私人版本的来源。他们还将受益于我们的服务,例如扩展的开发人员/生产支持、按需开发和重新授权。请随意联系我们了解更多详细信息。

全球用户


  • 最新版本的来源
  • 邮件列表
  • 错误跟踪器
  • 基本支持

产业支持


  • 专用版本
  • 开发人员讨论列表
  • 开发人员/生产支持
  • 重新发放许可证
  • 与零售商的一线互动
  • 冻结/维护版本
  • 鉴定工具包
  • 按需开发


形式化方法


你有关于形式化方法的问题吗?你不知道Alt-Ergo是否适合你的情况?我们可以帮助你确定更好的技术来满足您的需要。

你参与了一个很有前途的研发项目,你正在寻找正规方法领域的合作伙伴?我们经验丰富研发工程师们将乐于为您的项目的成功做出贡献。请随意联系我们看看我们如何合作。

历史


  • 21, 2021版本2.4.0的发布。
  • 二月13, 2019Alt-Ergo用户俱乐部的第一届年会。
  • 二月13, 2019版本2.0.0变为Alt-Ergo-Free 2.0.0。
  • 二月11, 2019小结2018年我们做了什么.
  • 二月11, 2019版本2.3.0的发布。查看主视图变化.
  • 四月21, 2018带有(的多态扩展)的实验支持SMT-LIB 2。
  • 3月14, 2018CDCL的新版本(v.2.1.0)作为默认SAT引擎的解算器。
  • 2017年11月14日支持浮点运算的新版本(v.2.0.0)。
  • 十一月21, 2016新版本(v.1.30)具有实验的支持模型生成.
  • 2016年2月16日新公开发布:私有版本1.00变为公开发布1.01.
  • 2016年2月9日新的私有版本(1.20)及其Javascript版本释放。
  • 2015年1月29日Alt-Ergo的一个新的主要私人发行版(1.00版)是释放.
  • 2014年7月15日 这里有一个小教程关于“试试Alt-Ergo”。
  • 2014年2月10日发现我们的开发/发布过程方案!
  • 2014年2月7日最新的公开发布现在是可获得的在Github存储库上。

相关出版物