From 06c5aa28e290a3ec9c0d9a8804540e3a3dfe5044 Mon Sep 17 00:00:00 2001 From: Andre Maroneze <andre.maroneze@cea.fr> Date: Wed, 24 Nov 2021 13:25:51 +0100 Subject: [PATCH] [Doc] Eva manual: add reference to quick guide annex, and to ACSL reference --- doc/value/biblio.bib | 12 +++++++++++- doc/value/main.tex | 10 ++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/doc/value/biblio.bib b/doc/value/biblio.bib index d284b32a7af..177f91a81a8 100644 --- a/doc/value/biblio.bib +++ b/doc/value/biblio.bib @@ -133,4 +133,14 @@ acmid = {1275501}, publisher = {ACM}, address = {New York, NY, USA}, -} \ No newline at end of file +} + +@manual{acsl, + author = {Baudin, Patrick and Cuoq, Pascal and Filli\^{a}tre, Jean-Christophe and + March\'{e}, Claude and Monate, Benjamin and Moy, Yannick and + Prevosto, Virgile}, + month = jun, + note = {Available at \url{https://frama-c.com/download/acsl.pdf}}}, + title = {{ACSL: ANSI/ISO C Specification Language. Version 1.17}}, + year = {2021} +} diff --git a/doc/value/main.tex b/doc/value/main.tex index 99a1b53c5cd..848066a7e06 100644 --- a/doc/value/main.tex +++ b/doc/value/main.tex @@ -4795,6 +4795,12 @@ be of service to or be checked by the \Eva{} plug-in.} \vspace{2cm} +If you are not familiar with ACSL, consider reading the +{\em ACSL Quick Guide for Eva}, in Appendix~\ref{sec:acsl-quick-guide}. +It contains a brief introduction to ACSL, targeted towards Eva users. +Even if you already know some ACSL, it contains a few Eva-related remarks +and tips related to specific warnings, which might be useful. + \section{Preconditions, postconditions and assertions} \label{prepostasserts} @@ -5992,6 +5998,7 @@ getting the text to where it is today. \appendix \chapter{ACSL Quick Guide for Eva} +\label{sec:acsl-quick-guide} \Eva{} users are often required to read and write some amount of ACSL annotations: alarms generated by \Eva{}, library function specifications, @@ -6002,6 +6009,9 @@ for \Eva{} analyses, intended for complete ACSL beginners. It focuses on the specific subset of ACSL that is mostly useful for \Eva{}, with some examples based on ACSL specifications from the \FramaC standard library. +For more details about the terms described here, and for the full +ACSL reference documentation, consult~\cite{acsl}. + \section{Basic Syntax} ACSL annotations are C comments; they are ignored by most tools, but parsed -- GitLab