why-3.1.1
-
Why3 is a platform for deductive program verification.
It provides
a rich language for specification and programming, called WhyML, and
relies on external theorem provers, both automated and interactive,
to discharge verification conditions.
Why3 comes with a standard
library of logical theories (integer and real arithmetic, Boolean
operations, sets and maps, etc.) and basic programming data structures
(arrays, queues, hash tables, etc.).
A user can write WhyML programs
directly and get correct-by-construction OCaml programs through an
automated extraction mechanism.
WhyML is also used as an intermediate
language for the verification of C, Java, or Ada programs.