@@ -33,7 +33,7 @@ ACSL is a <em>formal</em> language.</p>
...
@@ -33,7 +33,7 @@ ACSL is a <em>formal</em> language.</p>
assigns a[0..n-1];
assigns a[0..n-1];
ensures<sidenote>As a formal language, ACSL enables a precise specification of function contracts. That makes the specification not only understandable by a human, but also manipulable by an analyzer. Furthermore, as a complete specification is not always useful, the contract can be partial, it depends on one wants to verify.</sidenote><point></point>
ensures<sidenote>As a formal language, ACSL enables a precise specification of function contracts. That makes the specification not only understandable by a human, but also manipulable by an analyzer. Furthermore, as a complete specification is not always useful, the contract can be partial, it depends on what one wants to verify.</sidenote><point></point>
\forall integer i;
\forall integer i;
0 <=i<n ==> a[i] == 0;
0 <=i<n ==> a[i] == 0;
*/
*/
...
@@ -58,13 +58,13 @@ void set_to_0(int* a, int n){
...
@@ -58,13 +58,13 @@ void set_to_0(int* a, int n){
<ahref="../fc-plugins/jessie.html">Jessie</a>
<ahref="../fc-plugins/jessie.html">Jessie</a>
plug-ins use Hoare-style weakest precondition computations to
plug-ins use Hoare-style weakest precondition computations to
formally prove ACSL properties. The process can be quite automatic,
formally prove ACSL properties. The process can be quite automatic,
thanks to external theorem provers such as Alt-Ergo, Z3 or CVC4
thanks to external theorem provers such as Alt-Ergo, Z3 or CVC4,
or more interactive, with WP's built-in interactive prover
or more interactive, with WP's built-in interactive prover
or the use of the Coq proof-assistant. Other
or the use of the Coq proofassistant. Other
plug-ins, such as the <ahref="../fc-plugins/eva.html">Eva</a>
plug-ins, such as the <ahref="../fc-plugins/eva.html">Eva</a>
plug-in, may
plug-in, may
also contribute to the verification of ACSL properties. They may
also contribute to the verification of ACSL properties. They may
also report static analysis results in terms of asserted new ACSL
also report static analysis results in terms of new asserted ACSL