Verasco是ISO C 1999 CompCert子集的一个静态分析器,用于确定分析程序中不存在运行时错误。该分析器基于抽象解释,并结合了几个抽象域,即非关系域(整数区间、浮点区间、整数同余、指向属性)和关系域(整型线性不等式、符号等式)。Verasco的模块化结构受到了阿斯特雷.

与其他静态分析工具相比,Verasco的主要新奇之处在于,它完全由Coq证明助手指定和验证。Verasco的证明以数学上的确定性保证了在没有报警的情况下进行分析的程序不会出现运行时错误。

下载维拉斯科

下载源代码:Verasco 1.3版
Coq开发可以是在线浏览.

要编译,您需要:

  • Coq-proof助手8.4版的任何补丁级别。
  • OCaml函数语言,4.00版或更高版本。
  • 以下OCaml库和工具:
    • Menhir解析器生成器。
    • ZArith图书馆。
    • Ocamlfind工具。

所有这些工具都预先打包在OPAM公司,MacPorts公司和许多Linux发行版。

Verasco分析仪重复使用CompCert验证的C编译器因此不是自由软件。此版本可以用于评估、研究和教育目的,但不能用于商业目的。然而,Verasco静态分析仪专用的Coq源根据GNU公共许可证(GPL)获得双重许可,并且可以根据GPL的条款在其他项目中自由重用。请参阅许可证了解更多信息。

出版物

以下文件描述了Verasco分析仪的设计、架构和验证:

经正式验证的C型静态分析仪,签署人雅克·亨利·朱丹(Jacques-Henri Jourdan)、文森特·拉波特(Vincent Laporte)、桑德琳·布拉齐(Sandrine Blazy)、泽维尔·勒罗伊(Xavier Leroy)、,和大卫·皮哈迪。在2015年POPL第42届ACM编程语言原理研讨会上。

以下文件描述了实现Verasco多面体抽象域的VPL库:

多面体抽象域正确性证书的高效生成,签署人Alexis Fouilhé、David Monniaux和Michaöl Périn。第20届静态分析研讨会(SAS 2013),LNCS 7935,Springer,2013年。
(子)多面体抽象域的认证前端,签署人亚历克西斯·福莱和西尔万·博姆。2014年《验证软件:理论、工具和实验》(VSTTE)。LNCS 8471,施普林格。2014

其他相关出版物可在维拉斯科项目页面.

Verasco项目

Verasco分析仪是作为维拉斯科ANR项目(ANR-11-INSE-003)。本项目研究静态分析器和编译器的形式验证,这两类工具在关键嵌入式软件的开发和验证中起着至关重要的作用。这个项目合作伙伴包括:Inria Paris-Rocquencourt(协调员)、空中客车公司、雷恩大学1号、VERIMAG和Inria Saclay。