From 28f5eecc87f9f95ce4621129ea595fbebf618e23 Mon Sep 17 00:00:00 2001 From: Julien Signoles <julien.signoles@cea.fr> Date: Thu, 16 May 2013 08:18:30 +0000 Subject: [PATCH] [E-ACSL] detailled outline of user manual --- src/plugins/e-acsl/README | 2 +- src/plugins/e-acsl/doc/userman/Makefile | 5 ++- src/plugins/e-acsl/doc/userman/biblio.bib | 36 ++++++++++++++++-- .../e-acsl/doc/userman/introduction.tex | 14 +++++++ .../e-acsl/doc/userman/limitations.tex | 9 +++++ src/plugins/e-acsl/doc/userman/main.pdf | Bin 360483 -> 403326 bytes src/plugins/e-acsl/doc/userman/main.tex | 26 +++---------- src/plugins/e-acsl/doc/userman/provides.tex | 19 +++++++++ 8 files changed, 85 insertions(+), 26 deletions(-) create mode 100644 src/plugins/e-acsl/doc/userman/introduction.tex create mode 100644 src/plugins/e-acsl/doc/userman/limitations.tex create mode 100644 src/plugins/e-acsl/doc/userman/provides.tex diff --git a/src/plugins/e-acsl/README b/src/plugins/e-acsl/README index ca18a9b20ad..c56f736f056 100644 --- a/src/plugins/e-acsl/README +++ b/src/plugins/e-acsl/README @@ -21,7 +21,7 @@ This package contains the Frama-C's E-ACSL plug-in. It takes as input an annotated C program and returns the same program in which annotations have been converted into C code dedicated to runtime assertion checking: this code -fails at runtime if and only if the annotation is violated at runtime. +fails at runtime if the annotation is violated at runtime. Annotations must be written in a subset of ACSL (ANSI/ISO C Specification Language), namely E-ACSL (Executable ANSI/ISO C Specification Language). E-ACSL diff --git a/src/plugins/e-acsl/doc/userman/Makefile b/src/plugins/e-acsl/doc/userman/Makefile index 3a0c895251d..261adb19591 100644 --- a/src/plugins/e-acsl/doc/userman/Makefile +++ b/src/plugins/e-acsl/doc/userman/Makefile @@ -1,5 +1,8 @@ MAIN=main -DEPS_MODERN=eacslversion.tex biblio.bib macros.tex +DEPS_MODERN=eacslversion.tex biblio.bib macros.tex \ + introduction.tex \ + provides.tex \ + limitations.tex default: main.pdf diff --git a/src/plugins/e-acsl/doc/userman/biblio.bib b/src/plugins/e-acsl/doc/userman/biblio.bib index 1634215d40d..163658f1bcc 100644 --- a/src/plugins/e-acsl/doc/userman/biblio.bib +++ b/src/plugins/e-acsl/doc/userman/biblio.bib @@ -3,7 +3,7 @@ author = {Loïc Correnson and Pascal Cuoq and Florent Kirchner and Armand Puccetti and Virgile Prevosto and Julien Signoles and Boris Yakobowski}, - year = 2013, + year = apr, month = may, note = {\url{http://frama-c.cea.fr/download/user-manual.pdf}} } @@ -29,9 +29,9 @@ author = {Baudin, Patrick and Filli\^{a}tre, Jean-Christophe and March\'{e}, Claude and Monate, Benjamin and Moy, Yannick and Prevosto, Virgile}, - month = sep, - title = {{ACSL: ANSI/ISO C Specification Language. Version 1.6}}, - year = {2012} + month = apr, + title = {{ACSL: ANSI/ISO C Specification Language. Version 1.7}}, + year = {2013} } @manual{acsl-implem, @@ -44,6 +44,34 @@ year = {2012} } +@manual{eacsl, + author = {Julien Signoles}, + title = {E-ACSL: Executable ANSI/ISO C Specification Language. Version 1.7}, + year = 2013, + month = may, + note = {URL: http://frama-c.com/download/ e-acsl/e-acsl.pdf} +} + +@manual{eacsl-implem, + author = {Julien Signoles}, + title = {E-ACSL Version 1.7. + Implementation in Frama-C Plug-in E-ACSL version 0.2}, + year = 2013, + month = may, + note = {URL: http://frama-c.com/download/e-acsl/ e-acsl-implementation.pdf}} +} + +@inproceedings{sac13, + author = {Micka\"{e}l Delahaye and Nikolai Kosmatov and Julien Signoles}, + title = {Common Specification Language for Static and Dynamic Analysis of + {C} Programs}, + booktitle = {the 28th Annual ACM Symposium on Applied Computing ({SAC})}, + publisher = {ACM}, + year = 2013, + month = mar, + pages = {1230--1235}, +} + @misc{slicing, author = {Patrick Baudin and Anne Pacalet}, title = {Slicing plug-in}, diff --git a/src/plugins/e-acsl/doc/userman/introduction.tex b/src/plugins/e-acsl/doc/userman/introduction.tex new file mode 100644 index 00000000000..875ce86c4dc --- /dev/null +++ b/src/plugins/e-acsl/doc/userman/introduction.tex @@ -0,0 +1,14 @@ +\chapter{Introduction} + +\framac~\cite{userman,sefm12} is a modular analysis framework for the C language +which supports the ACSL specification language~\cite{acsl}. This manual +documents the \eacsl plug-in of \framac. This plug-in automatically translates +an annotated C code into a \C code which fails at runtime if an annotation is +violated. If no annotation is violated, the behavior of the new program is +exactly the same than the one of the original program. + +Annotations must be written in the \eacsl specification +language~\cite{eacsl,sac13} which is a subset of \acsl. This plug-in is still in +a preliminary state: some parts of E-ACSL are not yet supported. Which \eacsl +annotations are currently handled by the \eacsl plug-in is documented in a +separated document~\cite{eacsl-implem}. diff --git a/src/plugins/e-acsl/doc/userman/limitations.tex b/src/plugins/e-acsl/doc/userman/limitations.tex new file mode 100644 index 00000000000..6364cd48d8b --- /dev/null +++ b/src/plugins/e-acsl/doc/userman/limitations.tex @@ -0,0 +1,9 @@ +\chapter{Known limitations} + +\begin{itemize} +\item of course, annotations that are not yet translated~\cite{eacsl-implem} +\item function without code +\item recursive functions +\item function pointers +\item complex control flow graph +\end{itemize} diff --git a/src/plugins/e-acsl/doc/userman/main.pdf b/src/plugins/e-acsl/doc/userman/main.pdf index 7b6164d578bf513e77869157f65826036da056fa..2af7723511c8e67f4814f6b81bdfb6c1f9812a8a 100644 GIT binary patch delta 54783 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 ZQKYD(q9`?u3+M;nsxvNCRabvEE&vVGV@m)4 delta 20799 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 diff --git a/src/plugins/e-acsl/doc/userman/main.tex b/src/plugins/e-acsl/doc/userman/main.tex index c65213626b1..3edf8c1769b 100644 --- a/src/plugins/e-acsl/doc/userman/main.tex +++ b/src/plugins/e-acsl/doc/userman/main.tex @@ -42,8 +42,8 @@ CEA LIST, Software Safety Laboratory, Saclay, F-91191 \\ This is the user manual of the \framac plug-in \eacsl\footnote{\url{http://frama-c.com/eacsl}}. The content of this document corresponds to its version \eacslversion (\today) compatible with the version -\fcversion of \framac~\cite{userman}. However the development of the \eacsl -plug-in is still ongoing: features described here may still evolve in the +\fcversion of \framac~\cite{userman,sefm12}. However the development of the +\eacsl plug-in is still ongoing: features described here may still evolve in the future. %% \section*{Acknowledgements} @@ -53,27 +53,13 @@ future. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{itemize} -\item Introduction -\item What the Plug-in Provides -\item Parameterizing the Plug-in -\item Limitations -\end{itemize} - -%% \include{user-intro} -%% \include{user-overview} -%% \include{user-start} -%% \include{user-plugins} -%% \include{user-sources} -%% \include{user-analysis} -%% \include{user-properties} -%% \include{user-services} -%% \include{user-gui} -%% \include{user-errors} +\include{introduction} +\include{provides} +\include{limitations} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\appendix +%%\appendix %% \include{user-changes} diff --git a/src/plugins/e-acsl/doc/userman/provides.tex b/src/plugins/e-acsl/doc/userman/provides.tex new file mode 100644 index 00000000000..316c878558d --- /dev/null +++ b/src/plugins/e-acsl/doc/userman/provides.tex @@ -0,0 +1,19 @@ +\chapter{What the Plug-in Provides} + +\begin{itemize} +\item simple example illustrating project generation and how to handle this + project to effectively verify annotations at runtime with GCC. + (-e-acsl-project) +\item takes care of architecture (32, 64 bits) +\item memory model (linking issue) +\item GMP (linking issue) +\item incomplete program + \begin{itemize} + \item function without code + \item program without main + \end{itemize} +\item customizing e\_acsl\_assert +\item combining E-ACSL with others Frama-C analysis + (e-acsl-prepare and -e-acsl-valid) +\item verbosing policy +\end{itemize} -- GitLab