diff --git a/Makefile b/Makefile
index d623999aff5a7a242d2178e6024abcdb8528b33c..c8d2555f1c879f7f35e5093f6237f53f375a2b0e 100644
--- a/Makefile
+++ b/Makefile
@@ -79,6 +79,7 @@ PLUGIN_TYPES_CMX_LIST :=
 PLUGIN_DEP_LIST:=
 PLUGIN_DOC_LIST :=
 PLUGIN_DOC_DIRS :=
+PLUGIN_DOC_DUMP_LIST :=
 PLUGIN_DISTRIBUTED_LIST:=
 PLUGIN_DIST_TARGET_LIST:=
 PLUGIN_DIST_DOC_LIST:=
@@ -1240,7 +1241,9 @@ FILES_FOR_OCAMLDEP+= $(addsuffix /*.mli,$(FRAMAC_SRC_DIRS)) \
 
 MODULES_TODOC+=$(filter-out $(MODULES_NODOC),\
 	$(MLI_ONLY) \
-	$(filter-out $(PLUGIN_TYPES_CMO_LIST:.cmo=.mli),$(CMO:.cmo=.mli)))
+	$(filter-out $(PLUGIN_TYPES_CMO_LIST:.cmo=.mli),$(CMO:.cmo=.mli)) \
+	$(STARTUP_CMO:.cmo=.mli) \
+)
 
 ################################
 # toplevel.{byte,opt} binaries #
@@ -1706,26 +1709,32 @@ $(CHECK_API_DIR)/check_code.cmo: $(CHECK_API_DIR)/check_code.ml
 
 $(CHECK_API_DIR)/check_code.cmxs: $(CHECK_API_DIR)/check_code.ml
 	$(PRINT_PACKING) $@
-	$(OCAMLOPT) -o $@ -shared -I +ocamldoc \
-		str.cmxa $(CHECK_API_DIR)/check_code.ml
+	$(OCAMLOPT) -package ocamldoc -o $@ -shared \
+		$(CHECK_API_DIR)/check_code.ml
 
 CHECK_CODE=$(CHECK_API_DIR)/check_code.cmxs
 
-.PHONY: check-devguide
-check-devguide: $(CHECK_CODE) $(DOC_DEPEND) $(DOC_DIR)/kernel-doc.ocamldoc
+.PHONY: check-devguide devguide
+devguide: byte $(OCAMLBEST)
+	$(MAKE) FRAMAC_INTERNAL=no -C $(DOC_DEV_DIR)
+
+check-devguide: $(CHECK_CODE) $(DOC_DEPEND) $(DOC_DIR)/kernel-doc.ocamldoc plugins-doc devguide
 	$(PRINT) 'Checking     developer guide consistency'
 	$(MKDIR) $(CHECK_API_DIR)/html
+	$(RM) $(CHECK_API_DIR)/code_file
+	$(foreach doc_dump, \
+                  $(DOC_DIR)/kernel-doc.ocamldoc $(PLUGIN_DOC_DUMP_LIST), \
 	$(OCAMLDOC) $(DOC_FLAGS) -I $(OCAMLLIB) \
 	  -g $(CHECK_CODE) \
 	  -passopt -docdevpath -passopt "`pwd`/$(CHECK_API_DIR)" \
-	  -load $(DOC_DIR)/kernel-doc.ocamldoc \
-	  -d $(CHECK_API_DIR)/html
+	  -load $(doc_dump) \
+	  -d $(CHECK_API_DIR)/html; )
 	$(RM) -r  $(CHECK_API_DIR)/html
 	$(MAKE) --silent -C $(CHECK_API_DIR) main.idx
 	$(MAKE) --silent -C $(CHECK_API_DIR) >$(CHECK_API_DIR)/summary.txt
 	$(ECHO) see all the information displayed here \
 		in $(CHECK_API_DIR)/summary.txt
-	$(RM) code_file
+
 ################################
 # Code prettyfication and lint #
 ################################
diff --git a/doc/developer/Makefile b/doc/developer/Makefile
index 80c5b48ec69a2e9504a09bdda30be81a32f50d47..a3280d9bb37a8f96b9900f40cb0394b05d9d0209 100644
--- a/doc/developer/Makefile
+++ b/doc/developer/Makefile
@@ -43,15 +43,18 @@ DEPENDENCIES= $(FRAMAC_MODERN) $(GENERATED) frama-c-book.cls
 
 all: developer.pdf check
 
-FRAMAC := $(shell command -v frama-c 2> /dev/null)
+FC_BINDIR:=$(FRAMAC_ROOT_SRCDIR)/bin
+
+.PHONY: clean-tuto
+clean-tuto:
+	$(RM) ../../lib/plugins/META.frama-c-hello ../../lib/plugins/META.frama-c-viewcfg
+	$(RM) ../../lib/plugins/top/Hello.* ../../lib/plugins/top/Viewcfg.*
 
 # local plugin.cmi (if any) is in conflict with the one of Frama-C
 check: $(GENERATED)
-ifndef FRAMAC
-	$(ECHO) frama-c is not installed in the PATH, nothing to check!
-else
+	$(MAKE) clean-tuto
 	$(ECHO) Checking compilation of example scripts
-	../../bin/frama-c \
+	$(FC_BINDIR)/frama-c \
 		-load-script ./examples/syntactic_check \
 		-load-script ./examples/callstack \
 		-load-script ./examples/use_callstack \
@@ -65,17 +68,21 @@ else
            exit 1; \
         fi
 	for i in value value_gui_options visitor ; \
-	do ../../bin/frama-c -load-script ./tutorial/viewcfg/generated/$$i/cfg_print.ml ; \
+	do $(FC_BINDIR)/frama-c -load-script ./tutorial/viewcfg/generated/$$i/cfg_print.ml ; \
 	done
 	for i in with_options with_log with_registration ; \
-	do ../../bin/frama-c -load-script ./tutorial/hello/generated/$$i/hello_world.ml ; \
+	do $(FC_BINDIR)/frama-c -load-script ./tutorial/hello/generated/$$i/hello_world.ml ; \
 	done
 	$(ECHO) compilation ok
-	$(MAKE) -C tutorial/hello/generated/with_test
-	$(MAKE) -C tutorial/hello/generated/makefile_multiple
-	$(MAKE) -C tutorial/hello/generated/makefile_single
-	$(MAKE) -C tutorial/viewcfg/generated/split
-endif
+	$(MAKE) clean-tuto
+	PATH=$(FC_BINDIR):$$PATH; $(MAKE) DEVELOPMENT=no PTESTS_OPTS=-error-code -C tutorial/hello/generated/with_test byte opt tests
+	$(MAKE) clean-tuto
+	PATH=$(FC_BINDIR):$$PATH; $(MAKE) DEVELOPMENT=no PTESTS_OPTS=-error-code -C tutorial/hello/generated/makefile_multiple opt
+	$(MAKE) clean-tuto
+	PATH=$(FC_BINDIR):$$PATH; $(MAKE) DEVELOPMENT=no PTESTS_OPTS=-error-code -C tutorial/hello/generated/makefile_single opt
+	$(MAKE) clean-tuto
+	PATH=$(FC_BINDIR):$$PATH; $(MAKE) DEVELOPMENT=no PTESTS_OPTS=-error-code -C tutorial/viewcfg/generated/split opt
+	$(MAKE) clean-tuto
 
 check-all: developer.pdf 
 	$(MAKE) -C ../.. check-devguide
diff --git a/doc/developer/advance.tex b/doc/developer/advance.tex
index 9204bb9d459298dcf9cd7461bca7afa7e7b695a3..c0d0a4da0a26a1d07df3584e85b7f16a930d3b9a 100644
--- a/doc/developer/advance.tex
+++ b/doc/developer/advance.tex
@@ -131,7 +131,7 @@ lexicographic ordering.
 
 For instance, Section \emph{Wished Plug-in} introduces a new sub-section for
 the plug-in \texttt{occurrence} in the following way.
-\codeidxdef{check\_plugin}
+\scodeidxdef{configure.in}{check\_plugin}
 \begin{configurecode}
 # occurrence
 ############
@@ -1593,9 +1593,10 @@ that can be used instead of the basic ones:
   debugging level are sufficient.
 
 %%item
-  \logprintf{with\_log}{ f ?kind}%
-  Emits a message like \texttt{log}, and finally pass the generated
-  message to the continuation $f$, and returns its result.
+  \logprintf{logwith}{ f ?wkey ?emitwith ?once}%
+  Emits a message like \texttt{warning}, and finally pass the generated
+  \texttt{event} (or \texttt{None}) to the continuation $f$,
+  and returns its result.
 \end{description}
 
 The default kind is \lstinline{Result}, but all the other kind of
@@ -1643,9 +1644,6 @@ own, in addition to the one automatically created for your plug-in.
   \logroutine{log\_channel}{ channel ?kind ?prefix}%
   This routine is similar to the \lstinline{log} one.
 
-%%item
-  \logroutine{with\_log\_channel}{ channel f ?kind ?prefix}%
-  This routine is similar to the \lstinline{with_log} one.
 \end{description}
 
 With both logging routines, you may specify a prefix to be used during
@@ -1784,8 +1782,9 @@ module implements a datastructure, it usually implements
 
 \begin{example}
 The following line of code pretty prints whether two statements are equal.
-\sscodeidx{Cil\_datatype}{Stmt}{pretty}
-\sscodeidx{Cil\_datatype}{Stmt}{equal}
+\scodeidx{Cil\_datatype}{Stmt}
+\sscodeidx{Datatype}{S\_no\_copy}{equal}
+\sscodeidx{Datatype}{S\_no\_copy}{pretty}
 \begin{ocamlcode}
 (* assuming the type of [stmt1] and [stmt2] is Cil_types.stmt *)
 Format.fprintf 
@@ -1801,7 +1800,8 @@ Format.fprintf
 Module \texttt{Datatype.String}\scodeidx{Datatype}{String} implements
 \texttt{Datatype.S\_with\_collections}. Thus you can initialize a set of strings
 in the following way.
-\sscodeidx{Datatype}{String}{Set}
+\scodeidx{Datatype}{String}
+\sscodeidx{Datatype}{S\_with\_collections}{Set}
 \begin{ocamlcode}
 let string_set = 
   List.fold_left 
@@ -1936,7 +1936,8 @@ Here is how to apply \texttt{Datatype.Polymorphic} corresponding to the type
 \scodeidx{Structural\_descr}{pack}
 \scodeidx{Structural\_descr}{p\_int}
 \scodeidx{Datatype}{Int}
-\sscodeidx{Datatype}{String}{Hashtbl}
+\scodeidx{Datatype}{String}
+\sscodeidx{Datatype}{S\_with\_collections}{Hashtbl}
 \scodeidx{Datatype}{List}
 \scodeidx{Type}{par}
 \begin{ocamlcode}
@@ -2283,13 +2284,12 @@ plug-in-defined types in an abstract way through the functor
 There is no current example in the \framac open-source part, but consider a
 plug-in which provides a dynamic API for callstacks as follows.
 \scodeidx{Plugin}{Register}
-\scodeidx{Kernel\_function}{t}
-\scodeidx{Kernel\_function}{ty}
-\scodeidx{Kernel\_function}{pretty}
+\codeidx{Kernel\_function}
+\sscodeidx{Datatype}{Ty}{t}
+\sscodeidx{Datatype}{Ty}{ty}
+\sscodeidx{Datatype}{S\_no\_copy}{pretty}
 \scodeidx{Kernel\_function}{dummy}
-\sscodeidx{Cil\_datatype}{Stmt}{t}
-\sscodeidx{Cil\_datatype}{Stmt}{ty}
-\sscodeidx{Cil\_datatype}{Stmt}{pretty}
+\scodeidx{Cil\_datatype}{Stmt}
 \scodeidx{Cil}{dummyStmt}
 \scodeidx{Datatype}{Serializable\_undefined}
 \ocamlinput{./examples/generated/callstack.ml}
@@ -2297,8 +2297,10 @@ plug-in which provides a dynamic API for callstacks as follows.
 You have to use the functor \texttt{Type.Abstract} to access to the type value
 corresponding to the type of callstacks (and thus to access to the above
 dynamically registered functions).
-\scodeidx{Kernel\_function}{ty}
-\sscodeidx{Cil\_datatype}{Stmt}{ty}
+\codeidx{Kernel\_function}
+\sscodeidx{Datatype}{Ty}{ty}
+\scodeidx{Cil\_datatype}{Stmt}
+\sscodeidx{Datatype}{Ty}{t}
 \scodeidx{Type}{Abstract}
 \scodeidx{Dynamic}{get}
 \scodeidx{Datatype}{func}
@@ -2419,7 +2421,10 @@ following.
   value analysis would not be consistent anymore with the current entry point,
   leading to incorrect results.
 \begin{example}
-\sscodeidx{Db}{Value}{is\_computed}
+\scodeidx{Analysis}{is\_computed}
+\sscodeidx{Eva}{Analysis}{is\_computed}
+\scodeidx{Analysis}{compute}
+\sscodeidx{Eva}{Analysis}{compute}
 ~
 
 \begin{ocamlcode}
@@ -2474,8 +2479,10 @@ In most non-\framac applications, a state is a global mutable value. One can use
 it to store results of analyses. For example, using this mechanism inside
 \framac to create a \texttt{state} which would memoize\index{Memoization} some
 information attached to statements would result in the following piece of code.
-\scodeidx{Kernel\_function}{t} \scodeidx{Cil\_types}{varinfo}
-\sscodeidx{Cil\_datatype}{Stmt}{Hashtbl} \sscodeidx{Db}{Value}{compute}
+\codeidx{Kernel\_function}\sscodeidx{Datatype}{Ty}{t}
+\scodeidx{Cil\_types}{varinfo}
+\scodeidx{Cil\_datatype}{Stmt}\sscodeidx{Datatype}{S\_with\_collections}{Hashtbl}
+\sscodeidx{Db}{Value}{compute}
 \begin{ocamlcode}
 open Cil_datatype
 type info = Kernel_function.t * Cil_types.varinfo
@@ -2932,8 +2939,9 @@ code.
 \subsection{Definition}\label{options:definition}
 
 In \framac, a parameter is represented by a value of type
-\texttt{Typed\_parameter.t}\scodeidxdef{Typed\_parameter}{t} and by a module
-implementing the signature
+\texttt{Typed\_parameter.t}\codeidxdef{Typed\_parameter}
+\sscodeidx{Datatype}{Ty}{t}
+and by a module implementing the signature
 \texttt{Parameter\_sig.S}\scodeidxdef{Parameter\_sig}{S}. The first
 representation is a low-level one required by emitters\index{Emitter} (see
 Section~\ref{adv:annotations}) and the GUI. The second one provides a high-level
@@ -3751,10 +3759,10 @@ risk sharing\index{Sharing} the same AST\index{AST!Sharing|see{Sharing}}).
 \index{Visitor!Behavior|bfit}
 
 The visitors take as argument a
-\verb+visitor_behavior+\scodeidx{Cil}{visitor\_behavior}, which comes in two
-flavors: \verb+inplace_visit+\scodeidx{Cil}{inplace\_visit}%
-\index{Visitor!In-Place|bfit} and \verb+copy_visit+%
-\scodeidx{Cil}{copy\_visit}\index{Visitor!Copy|bfit}. In the in-place mode,
+\verb+Visitor_behavior.t+\scodeidx{Visitor\_behavior}{t}, which comes in two
+flavors: \verb+inplace+\scodeidx{Visitor\_behavior}{inplace}%
+\index{Visitor!In-Place|bfit} and \verb+copy+%
+\scodeidx{Visitor\_behavior}{copy}\index{Visitor!Copy|bfit}. In the in-place mode,
 nodes are visited in place, while in the copy mode, nodes are copied and the
 visit is done on the copy\index{AST!Copying}. For the nodes
 shared\index{Sharing} across the AST
@@ -3767,32 +3775,37 @@ shared\index{Sharing} across the AST
 \verb+logic_info+\scodeidx{Cil\_types}{logic\_info} and
 \verb+fieldinfo+\scodeidx{Cil\_types}{fieldinfo}), sharing is of course
 preserved, and the mapping between the old nodes and their copy can be
-manipulated explicitly through the following functions:
+manipulated explicitly through the following modules, which define a function
+for each of the types above.
 \begin{itemize}
 \item
-  \verb+reset_behavior_+\emph{name}
-  \scodeidxdef{Cil}{reset\_behavior\_varinfo}
-  resets the mapping corresponding to the type \emph{name}.
-\item \verb+get_original_+\emph{name}\scodeidxdef{Cil}{get\_original\_varinfo}
-  gets the original value corresponding to a copy (and behaves as the identity
-  if the given value is not known).
-\item \verb+get_+\emph{name}\scodeidxdef{Cil}{get\_varinfo} gets the copy
+  \verb+Reset+\scodeidxdef{Visitor\_behavior}{Reset}
+  allows to reset the mappings.
+\item \verb+Get+\scodeidxdef{Visitor\_behavior}{Get} gets the copy
   corresponding to an old value. If the given value is not known, it behaves as
   the identity.
-\item \verb+set_+\emph{name}\scodeidxdef{Cil}{set\_varinfo} sets a copy for a
+\item \verb+Memo+\scodeidxdef{Visitor\_behavior}{Memo} is similar to
+  \verb+Get+, except that if the given value is not known, a new binding is
+  created.
+\item \verb+Get_orig+\scodeidxdef{Visitor\_behavior}{Get\_orig}
+  gets the original value corresponding to a copy (and behaves as the identity
+  if the given value is not known).
+\item \verb+Set+\emph{name}\scodeidxdef{Visitor\_behavior}{Set} sets a copy for a
   given value. Be sure to use it before any occurrence of the old value has
   been copied, or sharing will be lost.
+\item \verb+Set_orig+\scodeidxdef{Visitor\_behavior}{Set\_orig} sets the original
+  value corresponding to a given copy.
 \end{itemize}
 
 \begin{important}
-  \verb+get_original_+\emph{name} functions allow to retrieve additional
+  Functions from the \verb+Get_orig+\emph{name} modules allow to retrieve additional
   information tied to the original AST nodes. Its result must not be modified
   in place\index{AST!Modification} (this would defeat the purpose of operating
   on a copy to leave the original AST untouched). Moreover, note that whenever
   the index used for \emph{name} is modified in the copy, the internal state of
   the visitor behavior\index{Visitor!Behavior} must be updated accordingly
-  (\emph{via} the \verb+set_+\emph{name} function) for
-  \verb+get_original_+\emph{name} to give correct results.\index{Consistency}
+  (\emph{via} the \verb+Set.+\emph{name} function) for
+  \verb+Get_orig.+\emph{name} to give correct results.\index{Consistency}
 \end{important}
 
 The list of such indices is given Figure~\ref{fig:idx-visitor}.
@@ -3868,7 +3881,7 @@ whether the table entries are visited before or after the children in the AST.
 Here is a small copy visitor that adds an assertion for each
 division in the program, stating that the divisor is not zero:
 \scodeidx{Visitor}{generic\_frama\_c\_visitor}
-\scodeidx{Cil}{copy\_visit}
+\scodeidx{Visitor\_behavior}{copy}
 \scodeidx{Cil}{lzero}
 \sscodeidx{Cil}{cilVisitor}{vexpr}
 \sscodeidx{Cil\_types}{exp\_node}{BinOp}
@@ -3882,8 +3895,8 @@ division in the program, stating that the divisor is not zero:
 \scodeidx{File}{create\_project\_from\_visitor}
 \scodeidx{Annotations}{add\_assert}
 \sscodeidx{Db}{Main}{extend}
-\scodeidx{Cil}{get\_stmt}
-\scodeidx{Cil}{get\_kernel\_function}
+\sscodeidx{Visitor\_behavior}{Get}{stmt}
+\sscodeidx{Visitor\_behavior}{Get}{kernel\_function}
 \sscodeidx{Cil}{cilVisitor}{behavior}
 \scodeidx{Ast}{self}
 \sscodeidx{Cil}{cilVisitor}{current\_kinstr}
@@ -3942,12 +3955,13 @@ Such clauses can be of different categories, as described by
 \scodeidx{Cil\_types}{ext\_category}\texttt{Cil\_types.ext\_category}.
 \begin{itemize}
 \item A contract extension will be
-stored in the \texttt{b\_extended}\sscodeidx{Cil\_types}{behavior}{b\_extended} field of
+stored in the \texttt{b\_extended}\scodeidx{Cil\_types}{behavior}{b\_extended} field of
 \texttt{Cil\_types.behavior}\scodeidx{Cil\_types}{behavior}.
 \item A global extension will be found as a global ACSL annotation in the form of a
-\scodeidx{Cil\_types}{Dextended}\texttt{Cil\_types.Dextended} constructor.
-\item A code annotation extension will be stored with an
-\scodeidx{Cil\_types}{AExtended}\texttt{Cil\_types.AExtended} constructor. Such an extension has itself
+\sscodeidx{Cil\_types}{global\_annotation}{Dextended}\texttt{Cil\_types.Dextended} constructor.
+\item A code annotation extension will be stored with the
+\sscodeidx{Cil\_types}{code\_annotation\_node}{AExtended}\texttt{Cil\_types.AExtended}
+constructor. Such an extension has itself
 different flavors, determined by the \scodeidx{Cil\_types}{ext\_code\_annot\_context} type:
 \begin{itemize}
 \item it can be meant to be evaluated exactly at the current program point
@@ -3974,8 +3988,9 @@ Similarly, in a loop annotation, \verb|loop kw e1, ..., en;| will be treated as
 \verb|kw| extension. In case the loop annotation has a \verb|loop variant|, the extension must 
 occur before. Otherwise, there is no ordering constraint with other loop annotations clauses.
 
-Global extensions can appear either alone in a global annotation, or as part of an axiomatic with
-a set of other global annotations.
+Global extensions can either be a standalone global annotation, or a whole block
+of global extensions, the latter case following the syntax of
+\texttt{axiomatic} blocks.
 
 Finally, a code annotation extension must appear as a single code annotation, like any code annotation.
 
@@ -4013,6 +4028,8 @@ registered by one of the following functions, depending on its category.
 \scodeidx{Acsl\_extension}{register\_behavior}
 \item \texttt{Acsl\_extension.register\_global}%
 \scodeidx{Acsl\_extension}{register\_global}
+\item \texttt{Acsl\_extension.register\_global\_block}%
+\scodeidx{Acsl\_extension}{register\_global\_block}
 \item \texttt{Acsl\_extension.register\_code\_annot}%
 \scodeidx{Acsl\_extension}{register\_code\_annot}
 \item \texttt{Acsl\_extension.register\_code\_annot\_next\_stmt}%
@@ -4201,7 +4218,7 @@ for details about the provided operations on these types.
 As join operators are provided for these types, they can be easily used in
 abstract interpretation analyses\index{Abstract Interpretation} (which can
 themselves be implemented thanks to one of functors of module
-\texttt{Dataflow2}\codeidx{Dataflow}.
+\texttt{Dataflow2}\codeidx{Dataflow2}.
 
 \subsection{Map Indexed by Locations}\label{memory:map}
 
@@ -4348,55 +4365,6 @@ documentation with \texttt{make doc}, you must have generated the documentation
 of Frama-C's kernel (\texttt{make doc}, see above) and installed it with the 
 \texttt{make install-doc-code}\codeidx{install-doc-code} command.
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% \section{License Policy}\label{adv:copyright}\index{License|bfit}
-
-%% \begin{target}developers with a SVN access.\end{target}
-
-%% \begin{prereq}
-%% knowledge of \make.
-%% \end{prereq}
-
-%% If you want to redistribute a plug-in inside \framac, you have to define a
-%% proper license policy\index{Plug-in!License}. For this purpose, some help is
-%% provided in the \texttt{Makefile}\codeidx{Makefile}. Mainly we distinguish two
-%% cases described below.
-%% \begin{itemize}
-%% \item \textbf{If the wished license is already used inside \framac}, just
-%%   extend the variable corresponding to the wished license in order to include
-%%   files of your plug-in. Next run \texttt{make headers}\index{Header}.
-%%   \begin{example}
-%%     Plug-in \texttt{slicing}\index{Slicing}\index{Plug-in!Slicing|see{Slicing}}
-%%     is released under LGPL\index{LGPL} and is proprietary of both CEA and
-%%     INRIA\index{Copyright}. Thus, in the \texttt{Makefile}, there is the following line.
-%%     \codeidx{CEA\_INRIA\_LGPL}
-%%     \begin{makefilecode}
-%% CEA_INRIA_LGPL= ... €
-%%                  src/plugins/slicing/*.ml*
-%%      \end{makefilecode}
-%%   \end{example}
-%% \item \textbf{If the wished license is unknown inside \framac}, you have to:
-%%   \begin{enumerate}
-%%   \item Add a new variable $v$ corresponding to it and assign files of your
-%%     plug-in;
-%%   \item Extend variable \texttt{LICENSES}\codeidx{LICENSES} with
-%%     this variable;
-%%   \item Add a text file in directory \texttt{licenses}\codeidx{licenses}
-%%     containing your licenses
-%%   \item Add a text file in directory \texttt{headers}\codeidx{headers}
-%%     containing the headers\index{Header} to add into files of your plug-in
-%%     (those assigned by $v$).
-
-%%     \begin{important}
-%%       The filename must be the same than the variable name $v$. Moreover this
-%%       file should contain a reference to the file containing the whole license
-%%       text.
-%%     \end{important}
-%%   \item Run \texttt{make headers}.
-%%   \end{enumerate}
-%% \end{itemize}
-
 % Local Variables:
 % ispell-local-dictionary: "english"
 % TeX-master: "main"
diff --git a/doc/developer/check_api/.merlin b/doc/developer/check_api/.merlin
new file mode 100644
index 0000000000000000000000000000000000000000..5812a793959381fa1ba594fcd25cb54484910929
--- /dev/null
+++ b/doc/developer/check_api/.merlin
@@ -0,0 +1 @@
+PKG ocamldoc
diff --git a/doc/developer/check_api/Makefile b/doc/developer/check_api/Makefile
index ac8885a77293456c23af39bb71fcfd03a516cbf9..834cbdc6f86968f4fb6e0f45a7415ca7eaf5871b 100644
--- a/doc/developer/check_api/Makefile
+++ b/doc/developer/check_api/Makefile
@@ -32,10 +32,10 @@ DEPENDENCIES= $(FRAMAC_MODERN) \
 all:  check_and_compare main.idx
 	./check_and_compare
 
-main.idx: ../developer.idx $(wildcard ../*.pretex)
+main.idx: ../developer.idx $(wildcard ../*.tex)
 	cp ../developer.idx main.idx
 
-check_and_compare: check_index_grammar.cmi check_index_grammar.cmx \
+check_and_compare: check_index_grammar.cmi check_index_lexer.cmi check_index_grammar.cmx \
 	     	check_index_lexer.cmx check_and_compare.cmx 
 	$(OCAMLOPT) -o check_and_compare str.cmxa check_index_grammar.cmx \
 	        check_index_lexer.cmx check_and_compare.cmx 
diff --git a/doc/developer/check_api/check_and_compare.ml b/doc/developer/check_api/check_and_compare.ml
index e767939d391a8f5760b5239aa1627a82f05f6718..155c3001dc99172829058c1fd1637d6fcc38a596 100644
--- a/doc/developer/check_api/check_and_compare.ml
+++ b/doc/developer/check_api/check_and_compare.ml
@@ -11,20 +11,55 @@
 (*                                                                        *)
 (**************************************************************************)
 
-let replace_space_by_dot s = Str.global_replace (Str.regexp " ") "." s
+let repair_word s = Str.global_replace (Str.regexp_string "\\") "" s
 
-let repair_word s = 
-  let rec repair_word_aux st = 
-    try let d1 = String.index st '$'
-	in 
-	try let d2 = String.index_from st d1 '$'
-	    in (Str.string_before st d1)^
-	    (repair_word_aux (Str.string_after st (d2+1)))
-	with Not_found -> st
-    with Not_found -> st
+let index_entry = Str.regexp {|^\\indexentry{\(.*\)}{[0-9]*}|}
+
+let index_subentry = Str.regexp {|^.*@texttt *{\(fontsize  {8}{10}selectfont  \)?\([A-Za-z0-9_]+\)}$|}
+
+let all_caps = Str.regexp "^[A-Z0-9_]+$"
+
+let is_lower s = 'a' <= s.[0] && s.[0] <= 'z'
+let is_upper s = 'A' <= s.[0] && s.[0] <= 'Z'
+
+(* We have a prefix composed of module names, then maybe a lower case
+   symbol, possibly followed by a single symbol (in the case of a
+   type constructor or record field).
+*)
+let is_ocaml_symbol l =
+  let rec aux = function
+    | [] | [_] -> true
+    | [ t; _ ] when is_lower t -> true
+    | x :: l -> is_upper x && aux l
   in
-  Str.global_replace (Str.regexp "\\") "" (repair_word_aux s)
- 
+  match l with
+  | [] -> false
+  | x :: l -> is_upper x && aux l
+
+let inspect_subentry l =
+  let check_one_entry e =
+    let e = repair_word e in
+    if Str.string_match index_subentry e 0 then begin
+      let word = Str.matched_group 2 e in
+      if Str.string_match all_caps word 0 then raise Exit else word
+    end else raise Exit
+  in
+  try
+    let l = List.map check_one_entry l in
+    if is_ocaml_symbol l then
+      (String.concat "." l)  ^ "\n"
+    else ""
+  with Exit -> ""
+
+let inspect_entry line =
+  if Str.string_match index_entry line 0 then begin
+    let content = Str.matched_group 1 line in
+    match Str.split (Str.regexp_string "|") content with
+    | [ entry; _ ] -> inspect_subentry (Str.split (Str.regexp_string "!") entry)
+    | _ -> ""
+  end else ""
+
+let external_names = [ "Landmarks"; "Makefile" ]
 
 (** [fill_tbl] takes a file containing data which is 
     as "element_name/type/comment/" or "element_name".
@@ -34,53 +69,23 @@ let repair_word s =
 let fill_tbl tbl file_name =
   try
     let c = open_in file_name in
-    try 
-      while true do 
-	let s = input_line c
-	in 
-	if not (Str.string_match (Str.regexp "Command.Line") s 0)
-	  && not ( Hashtbl.mem tbl s)
-	then match (Str.split (Str.regexp "/") s) with
-	  | []    -> ()
-	  | h::[] -> Hashtbl.add tbl h [] 
-	  | h::q  -> Hashtbl.add tbl h q 
+    let add_if_needed name infos =
+      if not (Hashtbl.mem tbl name || List.mem name external_names) then
+        Hashtbl.add tbl name infos
+    in
+    try
+      while true do
+        let s = input_line c in
+        match (Str.split (Str.regexp "/") s) with
+        | []    -> ()
+        | h::[] -> add_if_needed h []
+        | h::q  -> add_if_needed h q
       done
     with End_of_file -> close_in c
   with Sys_error _ as exn ->
     Format.eprintf "cannot handle file %s: %s" file_name 
       (Printexc.to_string exn)
 
-(** [fill_list] takes a file containing data which is 
-    as "element_name/type/comment/" if (has_type=true) or
-    "element_name" if (has_type=false). It fills the list [li]
-    with all the element names and alphabetically sorts them. *)
-let fill_list li name ~has_type = 
-  let fill_list_no_sorting l file_name =
-    try let c = open_in file_name in
-	try 
-	  while true do 
-	    let s = input_line c in 
-	    if not (Str.string_match
-		      (Str.regexp "Command.Line") s 0)&& not ( List.mem s !l) 
-	    then begin
-	      if has_type then
-		try let t =(Str.string_before s
-			      (String.index_from s 0 '/' )) in
-		    match t with
-		    |""  -> ()
-		    | _  -> if not( List.mem t !l) 
-		      then l := t::!l
-		with Not_found ->()
-		      else l := s::!l
-	    end 
-	  done
-	with End_of_file -> close_in c
-    with Sys_error _ as exn ->
-      Format.eprintf "cannot handle file %s: %s" file_name 
-	(Printexc.to_string exn) in
-  fill_list_no_sorting li name ; 
-  li := List.sort String.compare !li
-
 (** [run_oracle] takes two hashtables [t1] and [t2] when called.
     It first tests if the file "run.oracle" is already existing.
     If this file exists, it uses the function [w_tbl] and creates
@@ -117,14 +122,14 @@ let run_oracle t1 t2 =
       then h ^ "\n" ^ (string_of_info_list q)
       else (string_of_info_list q)
   in
-  let wo_tbl t k d = 
+  let wo_tbl t k _d = 
     try let element_info = Hashtbl.find t k
 	in
 	to_fill := 
 	  !to_fill ^ "\n" ^ k ^ "/" ^ (string_of_list element_info)
     with Not_found -> ()
   in
-  let w_tbl t k d = 
+  let w_tbl t k _d = 
     let tbl: (string,string list) Hashtbl.t = Hashtbl.create 197
     in
     fill_tbl tbl "run.oracle";
@@ -180,6 +185,9 @@ let compare t1 t2 name1 name2 =
     name2 name1; 
   List.iter (compare_aux t1) t2
 
+let sort_keys tbl =
+  let l = Hashtbl.fold (fun k _ l -> k :: l) tbl [] in
+  List.sort String.compare l
 
 (** here are used the lexer and parser "check_index_lexer" and
     "check_index_grammar" to create the file "index_file". 
@@ -187,27 +195,23 @@ let compare t1 t2 name1 name2 =
 let () =
   let index_hstbl: (string,string list) Hashtbl.t = Hashtbl.create 197 in
   let code_hstbl: (string,string list) Hashtbl.t = Hashtbl.create 197 in
-  let index_list = ref [] in
-  let code_list = ref [] in
   try
     let chan_out = open_out ( "index_file") in
     try
       let chan_in = open_in ( "main.idx") in
-      let lexbuf = Lexing.from_channel chan_in in
-      let temp =
-        repair_word (Check_index_grammar.main Check_index_lexer.token lexbuf)
-      in
-      let lexbuf_2 =Lexing.from_string temp in
-      let result =
-        Check_index_grammar.main Check_index_lexer.token_2 lexbuf_2
-      in
-      output_string chan_out (replace_space_by_dot result);
+      try
+        while true do
+          let line = input_line chan_in in
+          let res = inspect_entry line in
+          output_string chan_out res;
+        done
+      with End_of_file -> ();
       close_out chan_out ; close_in chan_in;
       fill_tbl code_hstbl "code_file";
       fill_tbl index_hstbl "index_file";
-      fill_list code_list "code_file" ~has_type:true;
-      fill_list index_list "index_file" ~has_type:false;
-      compare !index_list !code_list "THE INDEX \
+      let code_list = sort_keys code_hstbl in
+      let index_list = sort_keys index_hstbl in
+      compare index_list code_list "THE INDEX \
 OF THE DEVELOPER GUIDE" "THE CODE";
       run_oracle index_hstbl code_hstbl ;
     with Sys_error _ as exn ->
diff --git a/doc/developer/check_api/check_code.ml b/doc/developer/check_api/check_code.ml
index 72539005fc293e584338f9333afe0a5eb4b47072..6f312d6779f257b9333206e744a5799d8595818c 100644
--- a/doc/developer/check_api/check_code.ml
+++ b/doc/developer/check_api/check_code.ml
@@ -11,8 +11,6 @@
 (*                                                                        *)
 (**************************************************************************)
 
-(* do not work with OCaml 4 or higher *)
-
 open Odoc_html
 open Odoc_module
 open Odoc_info
@@ -29,7 +27,7 @@ let print_in_file l =
   in
   let file_path = !doc_dev_path ^ "/code_file" in
   try 
-    let chan_out = open_out file_path in
+    let chan_out = open_out_gen [Open_append; Open_creat] 0o644 file_path in
     output_string chan_out (string_of_list l) ;
     flush chan_out ;
     close_out chan_out 
@@ -225,26 +223,14 @@ module Generator (G : Odoc_html.Html_generator) = struct
       super#html_of_exception b e
 
     method private print_record b father l =
-        last_type <- last_type ^ "{";
         let print_one r =
-          if last_type <> "" &&
-               String.get last_type ((String.length last_type) -1) = '{'
-          then begin
-            if r.Type.rf_mutable then last_type <- last_type ^ "mutable "
-          end else begin
-            if r.Type.rf_mutable then last_type <- last_type ^ "; mutable "
-            else last_type <- last_type ^ "; "
-          end;
-          last_type <- last_type ^ r.Type.rf_name ;
-          self#html_of_type_expr_3 b father r.Type.rf_type;
+          last_name <- father ^ "." ^ r.Type.rf_name;
+          last_type <- father ^ " -> " ^ Odoc_info.string_of_type_expr r.Type.rf_type;
           self#html_of_info b r.Type.rf_text
         in
         print_concat b "\n" print_one l;
-        last_type <- last_type ^ "}"
 
     method html_of_type b t =
-      last_name <- t.Type.ty_name;
-      last_type <- "";
       Odoc_info.reset_type_names ();
       let father = Name.father t.Type.ty_name in
       self#html_of_type_expr_param_list_1 b father t;
@@ -252,7 +238,8 @@ module Generator (G : Odoc_html.Html_generator) = struct
       | Type.Type_abstract -> ()
       | Type.Type_variant l ->
         let print_one constr =
-          last_type <- last_type ^ " | " ^ constr.Type.vc_name ;
+          last_type <- "";
+          last_name <- t.Type.ty_name ^ "." ^  constr.Type.vc_name;
           (match constr.Type.vc_args with
           | Odoc_type.Cstr_tuple [] -> ()
           | Odoc_type.Cstr_tuple l ->
@@ -265,6 +252,8 @@ module Generator (G : Odoc_html.Html_generator) = struct
         print_concat b "\n" print_one l;
       | Type.Type_record l -> self#print_record b father l
       | _ -> ());
+      last_name <- t.Type.ty_name;
+      last_type <- "";
       self#html_of_info b t.Type.ty_info;
 
     method html_of_attribute b a =
diff --git a/doc/developer/check_api/check_index_lexer.mll b/doc/developer/check_api/check_index_lexer.mll
index 54b59cfa6be25912d6f34a3a804ed1b7606ad881..d2ebd852e2a67e4157a1ec4da29d5840dffe8959 100644
--- a/doc/developer/check_api/check_index_lexer.mll
+++ b/doc/developer/check_api/check_index_lexer.mll
@@ -13,6 +13,14 @@
 
 {
 }
+
+let alphanum = ['A'-'Z''a'-'z''0'-'9''_']
+let lower_name = ['a'-'z'] alphanum*
+(* in order to discriminate with other code keywords, we assume that an
+   OCaml module referenced in the LaTeX index is either a single letter
+   or has a lower case letter or an underscore as second character. *)
+let upper_name = ['A'-'Z'] ['a'-'z''_'] alphanum*
+
 rule token = parse
 | "\\texttt"                               { Check_index_grammar.KWD_WITH_ARG }
 | "\\see"                                  { Check_index_grammar.KWD_WITH_ARG }
@@ -35,6 +43,8 @@ rule token = parse
 and token_2 = parse
   | '\n'* ' '* [ 'a'-'z' '-' '.' ]+[ ^ '\n' ]*                                              { token_2 lexbuf }
   | '\n'* ' '* ([ 'A'-'Z' ][ 'a'-'z' '-' '_' '.' ]+ ' '* )+ ['A'-'Z'][^ 'a'-'z' '\n']+      { token_2 lexbuf }
-  | '\n'* ' '* ([ 'A'-'Z' ][ 'a'-'z' ]+[ ^ '\n' ' ' ]* ' '* )+ ([ 'a'-'z' ]+[ ^ '\n' ' ' ]* ' '* )* as s { if not (String.contains s '.') then Check_index_grammar.STRING (Lexing.lexeme lexbuf) else token_2 lexbuf}
+  | '\n'* ' '* ((upper_name ' '*)+ lower_name ' '* (upper_name ' '*)?) {
+      Check_index_grammar.STRING (Lexing.lexeme lexbuf)
+   }
   | '\n'* ' '* [ 'A'-'Z' '_' '-' ]+ [ ^ '\n' ]*                                     { token_2 lexbuf }
   | '\n'* eof                                                                       { Check_index_grammar.EOF }
diff --git a/doc/developer/check_api/run.oracle b/doc/developer/check_api/run.oracle
index c5b9bea960a39741875927a46cfaee4c321bb3ec..ba68feb385aac8edab41a50849c4f352998e7268 100644
--- a/doc/developer/check_api/run.oracle
+++ b/doc/developer/check_api/run.oracle
@@ -1,157 +1,193 @@
 
 Cil.cilVisitor.fill_global_tables/unit/fill the global environment tables at the end of a full copy in a  new project./
-Project.load/?selection:State_selection.t -> ?name:string -> string -> t/Load a file into a new project given by its name.  More precisely, load only except name file:  1. creates a new project;2. performs all the registered before_load actions;3. loads the (specified) states of the project according to its  description; and4. performs all the registered after_load actions. raised exception: IOError./
+Project.load/?selection:State_selection.t -> ?name:string -> Filepath.Normalized.t -> t/Load a file into a new project given by its name. More precisely, load only except name file: 1. creates a new project;2. performs all the registered before_load actions;3. loads the (specified) states of the project according to its description; and4. performs all the registered after_load actions. raised exception: IOError./
 Log.Messages.error/'a Log.pretty_printer/user error: syntax/typing error, bad expected input, etc./
-Log.with_log_channel/Log.channel -> (Log.event -> 'b) -> ?kind:Log.kind -> ?prefix:Log.prefix -> ('a, 'b) Log.pretty_aborter/logging function to user-created channel./
 Cil.visitCilFile/Cil.cilVisitor -> Cil_types.file -> unit/Same thing, but the result is ignored. The given visitor must thus be an inplace visitor. Nothing is done if the visitor is a copy visitor./
-Type.t/parameters: 'a, constructors: /Type of type values. For each monomorphic type ty, a value of type ty t dynamically represents the type ty. Such a value is called a type value and should be unique for each static monomorphic type./
-Globals.Functions.get/Cil_types.varinfo -> Cil_types.kernel_function/Globals variables. raised exception: Not_found./
-Log.add_listener/?plugin:string -> ?kind:Log.kind list -> (Log.event -> unit) -> unit/Register a hook that is called each time an event is  emitted. Applies to all channel unless specified,  and all kind of messages unless specified./
+Type.t//Type of type values. For each monomorphic type ty, a value of type ty t dynamically represents the type ty. Such a value is called a type value and should be unique for each static monomorphic type./
+Dgraph_helper.graph_window/parent:GWindow.window -> title:string -> (packing:(GObj.widget -> unit) -> unit -> < adapt_zoom : unit -> unit; .. >) -> unit/Create a new window displaying a graph./
+Globals.Functions.get/Cil_types.varinfo -> Cil_types.kernel_function/Functions. The AST should be computed before using this module (cf. Ast.compute). raised exception: Not_found./
+Log.add_listener/?plugin:string -> ?kind:Log.kind list -> (Log.event -> unit) -> unit/Register a hook that is called each time an event is emitted. Applies to all channel unless specified, and all kind of messages unless specified. Warning: when executing the listener, all listeners will be temporarily deactivated in order to avoid infinite recursion./
 State_builder.Register/string end ) -> State_builder.S with module Datatype = Datatype/Register(Datatype)(State)(Info) registers a new state. Datatype represents the datatype of a state, Local_state explains how to deal with the client-side state and Info are additional required information./
 Parameter_sig.Builder.Zero/functor (X : Parameter_sig.Input_with_arg ) -> Parameter_sig.Int/What is the possible range of values for this parameter./
+Log.Messages.set_warn_status/Log.Messages.warn_category -> Log.warn_status -> unit/returns the warning category name as a string./
 Datatype.Ref/functor (T : Datatype.S ) -> Datatype.S with type t = T.t ref/Deep copy: no possible sharing between x and copy x./
+Datatype.S_with_collections.Hashtbl/Datatype.Hashtbl with type key = t/Deep copy: no possible sharing between x and copy x./
+Cil.visitAction.DoChildren//Continue with the children of this node. Rebuild the node on     return if any of the children changes (use == test)./
 Cil/Cil_types.stmt -> Cil_types.stmt * Cil_types.stmtend /CIL main API. CIL original API documentation is available as an html version at http://manju.cs.berkeley.edu/cil./
-Cil_types.logic_ctor_info/{ctor_name: string; ctor_type: Cil_types.logic_type_info; ctor_params: Cil_types.logic_type list}/Description of a constructor of a logic sum-type./
+Cil_types.stmtkind.Goto/ of Cil_types.stmt Stdlib.ref * Cil_types.location/A goto statement. Appears from actual goto's in the code or from goto's  that have been inserted during elaboration. The reference points to the  statement that is the target of the Goto. This means that you have to  update the reference whenever you replace the target statement. The  target statement MUST have at least a label./
+Cil_types.logic_ctor_info//Description of a constructor of a logic sum-type./
 Cil.cilVisitor.vlogic_var_use/Cil_types.logic_var -> Cil_types.logic_var Cil.visitAction//
 Cmdline.nop/Cmdline.exit//
 State_selection.t//Type of a state selection./
-Cil.register_behavior_extension/string -> (Cil.cilVisitor -> Cil_types.acsl_extension_kind -> Cil_types.acsl_extension_kind Cil.visitAction) -> unit/Indicates how an extended behavior clause is supposed to be visited. The default behavior is DoChildren, which ends up visiting  each identified predicate in the list and leave the id as is./
+Boot/sig end /Main entry point of Frama-C. Nothing is exported./
+Cil_types.stmtkind.UnspecifiedSequence/ of (Cil_types.stmt * Cil_types.lval list * Cil_types.lval list * Cil_types.lval list * Cil_types.stmt Stdlib.ref list)list/statements whose order of execution is not specified by  ISO/C. This is important for the order of side effects  during evaluation of expressions. Each statement comes  together with three list of lval, in this order.- lvals that are written during the sequence and whose future  value depends upon the statement (it is legal to read from them, but  not to write to them)- lvals that are written during the evaluation of the statement itself- lval that are read.- Function calls in the corresponding statement  Note that this include only a subset of the affectations  of the statement. Namely, the  temporary variables generated by cil are excluded (i.e. it  is assumed that the "compilation" is correct). In addition,  side effects caused by function applications are not taken  into account in the list. For a single statement, the written lvals  are supposed to be ordered (or their order of evaluation doesn't  matter), so that an alarm should be emitted only if the lvals read by  a statement overlap with the lvals written (or read) by another  statement of the sequence.  At this time this feature is  experimental and may miss some unspecified sequences.  In case you do not care about this feature just handle it  like a block (see Cil.block_from_unspecified_sequence)./
+Cil_types.stmtkind.Break/ of Cil_types.location/A break to the end of the nearest enclosing Loop or Switch./
 Datatype.unit/unit Type.t/Add sets, maps and hashtables modules to an existing datatype, provided the equal, compare and hash functions are not Datatype.undefined./
-Globals/(Cil_types.stmt -> Cil_types.block) Pervasives.refend /Operations on globals./
-Db.Main/(unit -> unit) Pervasives.refend /Frama-C main interface./
+Globals/(Cil_types.stmt -> Cil_types.kernel_function) Stdlib.refend /Operations on globals./
+Db.Main/(unit -> unit) Stdlib.refend /Frama-C main interface./
+Visitor_behavior.Get/Visitor_behavior.Get/Get operations on behaviors, allows to get the representative of an AST element in the current state of the visitor. Get.ast_element vis e with e of type ast_element gets the representative of e in vis. For example for Cil_types.varinfo: Get.varinfo vis vi./
+Visitor_behavior.Set/Visitor_behavior.Set/Set operations on behaviors, allows to change the representative of a given AST element in the current state of the visitor. Use with care (i.e. makes sure that the old one is not referenced anywhere in the AST, or sharing will be lost). Set.ast_element vis e s with e and s of type ast_element changes the representative of e to s in vis. For example, for Cil_types.varinfo: Set.varinfo vis vi new_representative./
 Db.Properties/Emitter.t -> Cil_types.kernel_function -> Cil_types.stmt -> string -> unitend /Dealing with logical properties./
-Cil_types.enuminfo/{eorig_name: string; mutable ename: string; mutable eitems: Cil_types.enumitem list; mutable eattr: Cil_types.attributes; mutable ereferenced: bool; mutable ekind: Cil_types.ikind}/Information about an enumeration./
+Visitor_behavior.Reset/Visitor_behavior.t -> unitend /Reset operations on behaviors, allows to reset the tables associated to a given kind of AST elements. If you use fresh instances of visitor for each round of transformation, you should not need this module. In place modifications do not need this at all. Reset.ast_element vis resets the tables associated to the considered type of AST elements in vis. For example for Cil_types.varinfo: Reset.varinfo vis./
+Cil_types.enuminfo//Information about an enumeration./
 Datatype.Polymorphic/((Project_skeleton.t -> bool) -> 'a -> bool) -> (Project_skeleton.t -> bool) -> 'a Datatype.t -> bool end ) -> Datatype.Polymorphic with type 'a poly = 'a P.t/Functor for polymorphic types with only 1 type variable./
+Log.Messages.register_warn_category/string -> Log.Messages.warn_category/Returns currently active keys/
+Cil.visitAction.JustCopy//visit the children, but only to make the necessary copies     (only useful for copy visitor)./
+Cil_datatype.Stmt/Stdlib.Format.formatter -> t -> unitend /Pretty print the sid of the statement/
 Datatype.Polymorphic3/((Project_skeleton.t -> bool) -> 'a -> bool) -> ((Project_skeleton.t -> bool) -> 'b -> bool) -> ((Project_skeleton.t -> bool) -> 'c -> bool) -> (Project_skeleton.t -> bool) -> ('a, 'b, 'c) Datatype.t -> bool end ) -> Datatype.Polymorphic3 with type ('a, 'b, 'c) poly = ('a, 'b, 'c) P.t/Functor for polymorphic types with 3 type variables./
 Datatype.string/string Type.t//
+Visitor_behavior.Set_orig/Visitor_behavior.Set/Set operations on behaviors related to original representatives, allows to change the reference of an element of the new AST in the current state of the visitor. Use with care. Set.ast_element vis e s with e and s of type ast_element changes the original representative of e to s in vis. For example, for Cil_types.varinfo: Set_orig.varinfo vis vi new_original_repr./
+Cmdline.stage.Extended//The stage where plug-ins are loaded.     It is also the first stage each time the Frama-C main     loop is run (e.g. after each "-then")./
+Pretty_source.localizable.PVDecl/ of (Cil_types.kernel_function option * Cil_types.kinstr * Cil_types.varinfo)/Declaration and definition of variables and function. Check the type  of the varinfo to distinguish between the various possibilities.  If the varinfo is a global or a local, the kernel_function is the  one in which the variable is declared. The kinstr argument is given  for local variables with an explicit initializer./
 Locations.Location/Datatype.S with type t = location/Misc/
 Parameter_sig.Builder.Int/int end ) -> Parameter_sig.Int/To be used by the plugin to output the results of the option  in a controlled way. See set_output_dependencies details./
 Db.Main.extend/(unit -> unit) -> unit/Register a function to be called by the Frama-C main entry point./
 Annotations/State.tend /Annotations in the AST. The AST should be computed before calling functions of this module./
-Gtk_helper.graph_window/parent:GWindow.window -> title:string -> (packing:(GObj.widget -> unit) -> unit -> < adapt_zoom : unit -> unit; .. >) -> unit/Create a new window displaying a graph./
-Cmdline.run_after_exiting_stage/(unit -> Cmdline.exit) -> unit/Register an action to be executed at the end of the exiting stage.  The guarded action must finish by exit n./
+Cmdline.run_after_exiting_stage/(unit -> Cmdline.exit) -> unit/Register an action to be executed at the end of the exiting stage. The guarded action must finish by exit n./
 Cil.cilVisitor.vvrbl/Cil_types.varinfo -> Cil_types.varinfo Cil.visitAction/Invoked on each variable use. Here only the SkipChildren and  ChangeTo actions make sense since there are no subtrees. Note that  the type and attributes of the variable are not traversed for a  variable use./
-Cil_types.varinfo/{mutable vname: string; vorig_name: string; mutable vtype: Cil_types.typ; mutable vattr: Cil_types.attributes; mutable vstorage: Cil_types.storage; mutable vglob: bool; mutable vdefined: bool; mutable vformal: bool; mutable vinline: bool; mutable vdecl: Cil_types.location; mutable vid: int; mutable vaddrof: bool; mutable vreferenced: bool; vtemp: bool; mutable vdescr: string option; mutable vdescrpure: bool; mutable vghost: bool; vsource: bool; mutable vlogic_var_assoc: Cil_types.logic_var option}/Information about a variable./
+Cil_types.varinfo//Information about a variable./
 Lmap_bitwise/functor (V : Lmap_bitwise.With_default ) -> Lmap_bitwise.Location_map_bitwise with type v = V.tend /Functors making map indexed by zone./
-Cil.cilVisitor.behavior/Cil.visitor_behavior/the kind of behavior expected for the behavior./
+Cil.cilVisitor.behavior/Visitor_behavior.t/the kind of behavior expected for the behavior./
+Eva.Analysis.compute/unit -> unit/Computes the Eva analysis, if not already computed, using the entry point  of the current project. You may set it with Globals.set_entry_point. raised exceptions: , if the entry point is incorrect, if some arguments are  specified for the entry point using Db.Value.fun_set_args, and  an incorrect number of them is given./
 Datatype.Serializable_undefined/Datatype.Undefined/Same as Datatype.Undefined, but the type is supposed to be marshallable by the standard OCaml way (in particular, no hash-consing or projects inside the type)./
-Log.Messages.feedback/?ontty:Log.ontty -> ?level:int -> ?dkey:Log.category -> 'a Log.pretty_printer/Progress and feedback. Level is tested against the verbosity level./
-Log.set_echo/?plugin:string -> ?kind:Log.kind list -> bool -> unit/Turns echo on or off. Applies to all channel unless specified,  and all kind of messages unless specified./
+Log.Messages.feedback/?ontty:Log.ontty -> ?level:int -> ?dkey:Log.Messages.category -> 'a Log.pretty_printer/Progress and feedback. Level is tested against the verbosity level./
+Log.set_echo/?plugin:string -> ?kind:Log.kind list -> bool -> unit/Turns echo on or off. Applies to all channel unless specified, and all kind of messages unless specified./
 Db.Value.self/State.t/Internal state of the value analysis from projects viewpoint./
 Log.new_channel/string -> Log.channel/Send an event over the associated listeners./
-Log.Messages.warning/'a Log.pretty_printer/Hypothesis and restrictions./
-Cil.get_stmt/Cil.visitor_behavior -> Cil_types.stmt -> Cil_types.stmt//
+Log.Messages.warning/?wkey:Log.Messages.warn_category -> 'a Log.pretty_printer/Hypothesis and restrictions./
 Datatype.Undefined/Datatype.Undefined/Sub-signature of Datatype.S./
-Cil_types.fieldinfo/{mutable fcomp: Cil_types.compinfo; forig_name: string; mutable fname: string; mutable ftype: Cil_types.typ; mutable fbitfield: int option; mutable fattr: Cil_types.attributes; mutable floc: Cil_types.location; mutable faddrof: bool; mutable fsize_in_bits: int option; mutable foffset_in_bits: int option; mutable fpadding_in_bits: int option}/Information about a struct/union field./
-Cmdline.is_going_to_load/unit -> unit/To be call if one action is going to run after the loading stage.  It is not necessary to call this function if the running action is set by  an option put on the command line./
+Cil_types.fieldinfo//Information about a struct/union field./
+Cmdline.is_going_to_load/unit -> unit/To be call if one action is going to run after the loading stage. It is not necessary to call this function if the running action is set by an option put on the command line./
 Datatype.func/?label:string * (unit -> 'a) option -> 'a Type.t -> 'b Type.t -> ('a -> 'b) Type.t//
+Cil_types.stmtkind.If/ of Cil_types.exp * Cil_types.block * Cil_types.block * Cil_types.location/A conditional. Two successors, the "then" and the "else" branches (in  this order).  Both branches fall-through to the successor of the If statement./
 Datatype.Function/(string * (unit -> Datatype.t) option) option end ) -> functor (T2 : Datatype.S ) -> Datatype.S with type t = T1.t -> T2.t/Deep copy: no possible sharing between x and copy x./
-Project.clear/?selection:State_selection.t -> ?project:t -> unit -> unit/Clear the given project. Default project is current (). All the  internal states of the given project are now empty (wrt the action  registered with register_todo_on_clear)./
-Kernel.CodeOutput/(Format.formatter -> unit) -> unitend /Behavior of option "-ocode"./
+Project.clear/?selection:State_selection.t -> ?project:t -> unit -> unit/Clear the given project. Default project is current (). All the internal states of the given project are now empty (wrt the action registered with register_todo_on_clear)./
+Kernel.CodeOutput/(Stdlib.Format.formatter -> unit) -> unitend /Behavior of option "-ocode"./
+Datatype.S_with_collections.Set/Datatype.Set with type elt = t/Datatype with alternative ordering, where properties are ordered according the following criteria: 1. Kf name (global properties ranked first) 2. Kinstr 3. kind of property 4. id of the property/
 Datatype.int/int Type.t//
+Cil.visitAction.ChangeTo/ of 'a/Replace the expression with the given one./
 Log.Messages.fatal/('a, 'b) Log.pretty_aborter/internal error of the plug-in. raised exception: AbortFatal./
+Dataflow2/Cil_types.fundec -> Cil_types.stmt list * Cil_types.stmt listend /Implementation of data flow analyses over user-supplied domains./
 Cil.cilVisitor.vexpr/Cil_types.exp -> Cil_types.exp Cil.visitAction/Invoked on each expression occurrence. The subtrees are the  subexpressions, the types (for a Cast or SizeOf expression) or the  variable use./
 Parameter_customize/(string -> Cil_datatype.Kf.Set.t) -> unitend /Configuration of command line options. You can apply the functions below just before applying one of the functors provided by the functor Plugin.Register and generating a new parameter./
 Cmdline.run_during_extending_stage/(unit -> unit) -> unit/Register an action to be executed during the extending stage./
-File.init_project_from_cil_file/Project.t -> Cil_types.file -> unit/Initialize the cil file representation with the given file for the  given project from the current one.  Should be called at most once per project. raised exception: File_types.Bad_Initialization./
-Datatype.func2/?label1:string * (unit -> 'a) option -> 'a Type.t -> ?label2:string * (unit -> 'b) option -> 'b Type.t -> 'c Type.t -> ('a -> 'b -> 'c) Type.t/optlabel_func lab dft ty1 ty2 is equivalent to  func ~label:(lab, Some dft) ty1 ty2/
-Cil.visitAction/parameters: 'a, constructors: | SkipChildren/Do not visit the children. Return the node as it is./
-Log.Messages/Log.Messages/Returns currently active keys/
-Extlib.the/?exn:exn -> 'a option -> 'a/opt_bind f x returns None if x is None and f y if is Some y (monadic bind) raised exceptions: , if the value is None and exn is specified., if the value is None and exn is not specified./
+File.init_project_from_cil_file/Project.t -> Cil_types.file -> unit/Initialize the cil file representation with the given file for the given project from the current one. Should be called at most once per project. raised exception: File_types.Bad_Initialization./
+Datatype.func2/?label1:string * (unit -> 'a) option -> 'a Type.t -> ?label2:string * (unit -> 'b) option -> 'b Type.t -> 'c Type.t -> ('a -> 'b -> 'c) Type.t/optlabel_func lab dft ty1 ty2 is equivalent to func ~label:(lab, Some dft) ty1 ty2/
+Cil.visitAction//Different visiting actions. 'a will be instantiated with exp, instr, etc./
+Log.Messages/Log.Messages//
+Cil_types.code_annotation_node.AExtended/ of string list * bool * Cil_types.acsl_extension/extension in a code or loop annotation.  Boolean flag is true for loop extensions and false for code extensions/
 Parameter_sig.Builder.String_set/functor (X : Parameter_sig.Input_with_arg ) -> Parameter_sig.String_set/Is there some element satisfying the given predicate?/
-Cil.inplace_visit/unit -> Cil.visitor_behavior/In-place modification. Behavior of the original cil visitor./
 Cmdline.Exit///
 Cil_state_builder.Stmt_hashtbl/functor (Data : Datatype.S ) -> functor (Info : State_builder.Info_with_size ) -> State_builder.Hashtbl with type key = Cil_types.stmt and type data = Data.t/Return the list of all data associated with the given key./
-State_builder.Hashtbl/functor (H : Datatype.Hashtbl ) -> functor (Data : Datatype.S ) -> functor (Info : State_builder.Info_with_size ) -> State_builder.Hashtbl with type key = H.key and type data = Data.t   and module Datatype = H.Make(Data)/remove x removes from the table one instance of x. Does nothing if  there is no instance of x./
+State_builder.Hashtbl/functor (H : Datatype.Hashtbl ) -> functor (Data : Datatype.S ) -> functor (Info : State_builder.Info_with_size ) -> State_builder.Hashtbl with type key = H.key and type data = Data.t        and module Datatype = H.Make(Data)/remove x removes from the table one instance of x. Does nothing if  there is no instance of x./
 Parameter_sig.Builder.True/functor (X : Parameter_sig.Input ) -> Parameter_sig.Bool/Set the boolean to false./
 Parameter_sig.Builder/Parameter_sig.Builder/Signatures containing the different functors which may be used to generate new command line options./
+Acsl_extension.register_global_block/string -> ?preprocessor:Acsl_extension.extension_preprocessor_block -> Acsl_extension.extension_typer_block -> ?visitor:Acsl_extension.extension_visitor -> ?printer:Acsl_extension.extension_printer -> ?short_printer:Acsl_extension.extension_printer -> bool -> unit/Registers extension for global block annotation. See register_behavior./
+Typed_parameter/t -> stringend /Parameter settable through a command line option. This is a low level API, internally used by the kernel. As a plug-in developer, you certainly prefer to use the API of Plugin instead./
 Log.Messages.abort/('a, 'b) Log.pretty_aborter/user error stopping the plugin. raised exception: AbortError./
 Kernel_function/State.tend /Operations to get info from a kernel function. This module does not give access to information about the set of all the registered kernel functions (like iterators over kernel functions). This kind of operations is stored in module Globals.Functions./
 Datatype.String/Datatype.S_with_collections with type t = string/Deep copy: no possible sharing between x and copy x./
 File.init_from_cmdline/unit -> unit/Initialize the cil file representation with the file given on the command line. Should be called at most once per project. raised exception: File_types.Bad_Initialization./
-File.init_from_c_files/t list -> unit/Initialize the cil file representation of the current project.  Should be called at most once per project. raised exception: File_types.Bad_Initialization./
-Cil_types.mach/{sizeof_short: int; sizeof_int: int; sizeof_long: int; sizeof_longlong: int; sizeof_ptr: int; sizeof_float: int; sizeof_double: int; sizeof_longdouble: int; sizeof_void: int; sizeof_fun: int; size_t: string; wchar_t: string; ptrdiff_t: string; alignof_short: int; alignof_int: int; alignof_long: int; alignof_longlong: int; alignof_ptr: int; alignof_float: int; alignof_double: int; alignof_longdouble: int; alignof_str: int; alignof_fun: int; char_is_unsigned: bool; underscore_name: bool; const_string_literals: bool; little_endian: bool; alignof_aligned: int; has__builtin_va_list: bool; __thread_is_keyword: bool; compiler: string; cpp_arch_flags: string list; version: string}/Definition of a machine model (architecture + compiler)./
-Ast.mark_as_grown/unit -> unit/call this function whenever you have added something to the AST,  without modifying the existing nodes/
-Globals.set_entry_point/string -> bool -> unit/set_entry_point name lib sets Kernel.MainFunction to name and  Kernel.LibEntry to lib. Moreover, clear the results of all the analysis which depend on Kernel.MainFunction or Kernel.LibEntry./
+File.init_from_c_files/t list -> unit/Initialize the cil file representation of the current project. Should be called at most once per project. raised exception: File_types.Bad_Initialization./
+Cil_types.mach//Definition of a machine model (architecture + compiler)./
+Ast.mark_as_grown/unit -> unit/call this function whenever you have added something to the AST, without modifying the existing nodes/
+Globals.set_entry_point/string -> bool -> unit/set_entry_point name lib sets Kernel.MainFunction to name and Kernel.LibEntry to lib. Moreover, clear the results of all the analysis which depend on Kernel.MainFunction or Kernel.LibEntry./
+State_selection.only_dependencies/State.t -> State_selection.t/The selection containing all the dependencies of the given state (but not this state itself)./
 Cmdline/Cmdline.Group.t -> stringend end /Command line parsing./
+Datatype.Ty.t//A type with its type value./
 Design.main_window_extension_points.register_source_selector/(GMenu.menu GMenu.factory -> Design.main_window_extension_points -> button:int -> Pretty_source.localizable -> unit) -> unit/register an action to perform when button is released on a given  localizable.  If the button 3 is released, the first argument is popped as a  contextual menu./
 Frontc.add_syntactic_transformation/(Cabs.file -> Cabs.file) -> unit/add a syntactic transformation that will be applied to all freshly parsed C files./
 Project/unit -> unitend end /Projects management. A project groups together all the internal states of Frama-C. An internal state is roughly the result of a computation which depends of an AST. It is possible to have many projects at the same time. For registering a new state in the Frama-C projects, apply the functor State_builder.Register./
 Visitor.frama_c_visitor.current_kf/Cil_types.kernel_function option/link to the kernel function currently being visited.  NB: for copy visitors, the link is to the original kf (anyway,  the new kf is created only after the visit is over)./
 Datatype.undefined/'a -> 'b/Must be used if you don't want to implement a required function./
+Cil_types.stmtkind.TryExcept/ of Cil_types.block * (Cil_types.instr list * Cil_types.exp) * Cil_types.block * Cil_types.location/On MSVC we support structured exception handling. The try/except  statement is a bit tricky:    __try { blk } __except (e) { handler }   The argument to __except must be an expression. However, we keep a  list of instructions AND an expression in case you need to make  function calls. We'll print those as a comma expression. The control  can get to the __except expression only if an exception is thrown.  After that, depending on the value of the expression the control  goes to the handler, propagates the exception, or retries the  exception. The location corresponds to the try keyword./
 Log.Messages.failure/'a Log.pretty_printer/internal error of the plug-in./
 Logic_const.prel/?loc:Cil_types.location -> Cil_types.relation * Cil_types.term * Cil_types.term -> Cil_types.predicate/Binary relation./
+Cil.visitAction.ChangeDoChildrenPost/ of 'a * ('a -> 'a)/First consider that the entire exp is replaced by the first parameter. Then  continue with the children. On return rebuild the node if any of the  children has changed and then apply the function on the node./
 Locations.Zone/Locations.Zone.map_t -> Int_Intervals.t Hptmap.Shape(Base.Base).tend /Association between bases and ranges of bits./
-Cil.cilVisitor.get_filling_actions/(unit -> unit) Queue.t/get the queue of actions to be performed at the end of a full copy./
-Locations.location/{loc: Locations.Location_Bits.t; size: Int_Base.t}/A Location_Bits.t and a size in bits./
+Cil.cilVisitor.get_filling_actions/(unit -> unit) Stdlib.Queue.t/get the queue of actions to be performed at the end of a full copy./
+Locations.location//A Location_Bits.t and a size in bits./
 Cil_types/end /The Abstract Syntax of CIL./
 Visitor.frama_c_visitor.vstmt_aux/Cil_types.stmt -> Cil_types.stmt Cil.visitAction/Replacement of vstmt./
-File.init_project_from_visitor/?reorder:bool -> Project.t -> Visitor.frama_c_visitor -> unit/init_project_from_visitor prj vis initialize the cil file  representation of prj. prj must be essentially empty: it can have  some options set, but not an existing cil file; proj is filled using  vis, which must be a copy visitor that puts its results in prj.  if reorder is true (default is false) the new AST in prj  will be reordered./
+File.init_project_from_visitor/?reorder:bool -> Project.t -> Visitor.frama_c_visitor -> unit/init_project_from_visitor prj vis initialize the cil file representation of prj. prj must be essentially empty: it can have some options set, but not an existing cil file; proj is filled using vis, which must be a copy visitor that puts its results in prj. if reorder is true (default is false) the new AST in prj will be reordered./
 Datatype.Polymorphic4/((Project_skeleton.t -> bool) -> 'a -> bool) -> ((Project_skeleton.t -> bool) -> 'b -> bool) -> ((Project_skeleton.t -> bool) -> 'c -> bool) -> ((Project_skeleton.t -> bool) -> 'd -> bool) -> (Project_skeleton.t -> bool) -> ('a, 'b, 'c, 'd) Datatype.t -> bool end ) -> Datatype.Polymorphic4 with type ('a, 'b, 'c, 'd) poly = ('a, 'b, 'c, 'd) P.t/Functor for polymorphic types with 4 type variables./
 Datatype.List/functor (T : Datatype.S ) -> Datatype.S with type t = T.t list/Deep copy: no possible sharing between x and copy x./
 Structural_descr.pack/Structural_descr.t -> Structural_descr.pack/Pack a structural descriptor in order to embed it inside another one./
 Log.set_output/?isatty:bool -> (string -> int -> int -> unit) -> (unit -> unit) -> unit/This function has the same parameters as Format.make_formatter./
-Cil.reset_behavior_varinfo/Cil.visitor_behavior -> unit/resets the internal tables used by the given visitor_behavior. If you use fresh instances of visitor for each round of transformation, this should not be needed. In place modifications do not need that at all./
-Logic_utils.expr_to_term/cast:bool -> Cil_types.exp -> Cil_types.term/translates a C expression into an "equivalent" logical term. cast specifies how C arithmetic operators are translated.  When cast is true, the translation returns a logic term having the  same semantics of the C expr by introducing casts (i.e. the C expr a+b  can be translated as (char)(((char)a)+(char)b) to preserve the modulo  feature of the C addition). Otherwise, no such casts are introduced and the C arithmetic operators are  translated into perfect mathematical operators (i.e. a floating point  addition is translated into an addition of real numbers)./
-Journal/(string -> string) Pervasives.refend /Journalization of functions./
+Log.Messages.logwith/(Log.event option -> 'b) -> ?wkey:Log.Messages.warn_category -> ?emitwith:(Log.event -> unit) -> ?once:bool -> ('a, 'b) Log.pretty_aborter/Recommanded generic log routine using warn_category instead of kind.  logwith continuation ?wkey fmt similar to warning ?wkey fmt  and then calling the continuation.  The optional continuation argument refers to the corresponding event.  None is used iff no message is logged.  In case the wkey is considered as a Failure, the continution is not called.  This kind of message denotes a fatal error aborting Frama-C.  Notice that the ~emitwith action is called iff a message is logged./
+Logic_utils.expr_to_term/?coerce:bool -> Cil_types.exp -> Cil_types.term/Returns a logic term that has exactly the same semantics as the original C-expression. The type of the resulting term is determined by the ~coerce flag as follows:- when ~coerce:false is given (the default) the term has the same  c-type as the original expression.- when ~coerce:true is given, if the original expression has an int or  float type, then the returned term is coerced into the integer or real  logic type, respectively. Remark: when the original expression is a comparison, it is evaluated as an int or an integer depending on the ~coerce flag. To obtain a boolean or predicate, use expr_to_boolean or expr_to_predicate instead./
+Journal/(string -> Datatype.Filepath.t) Stdlib.refend /Journalization of functions./
 Cil.cilVisitor.vstmt/Cil_types.stmt -> Cil_types.stmt Cil.visitAction/Control-flow statement. The default DoChildren action does not create a  new statement when the components change. Instead it updates the contents  of the original statement. This is done to preserve the sharing with  Goto and Case statements that point to the original statement. If you  use the ChangeTo action then you should take care of preserving that  sharing yourself./
-Cil.get_varinfo/Cil.visitor_behavior -> Cil_types.varinfo -> Cil_types.varinfo/retrieve the representative of a given varinfo in the current state of the visitor/
-Eva.Analysis.is_computed/unit -> bool/Return true iff the value analysis has been done./
+Db.Value.is_computed/unit -> bool/Return true iff the value analysis has been done./
 Kernel.Unicode/('a -> 'b) -> 'a -> 'bend /Behavior of option "-unicode"./
 Design.register_extension/(Design.main_window_extension_points -> unit) -> unit/Register an extension to the main GUI. It will be invoked at initialization time./
-Cil_types.global/ | GType of Cil_types.typeinfo * Cil_types.location | GCompTag of Cil_types.compinfo * Cil_types.location | GCompTagDecl of Cil_types.compinfo * Cil_types.location | GEnumTag of Cil_types.enuminfo * Cil_types.location | GEnumTagDecl of Cil_types.enuminfo * Cil_types.location | GVarDecl of Cil_types.varinfo * Cil_types.location | GFunDecl of Cil_types.funspec * Cil_types.varinfo * Cil_types.location | GVar of Cil_types.varinfo * Cil_types.initinfo * Cil_types.location | GFun of Cil_types.fundec * Cil_types.location | GAsm of string * Cil_types.location | GPragma of Cil_types.attribute * Cil_types.location | GText of string | GAnnot of Cil_types.global_annotation * Cil_types.location/The main type for representing global declarations and definitions. A list of these form a CIL file. The order of globals in the file is generally important./
+Cil_types.global//The main type for representing global declarations and definitions. A list of these form a CIL file. The order of globals in the file is generally important./
 Cil.dummyStmt/Cil_types.stmt/A statement consisting of just dummyInstr./
 Datatype.func3/?label1:string * (unit -> 'a) option -> 'a Type.t -> ?label2:string * (unit -> 'b) option -> 'b Type.t -> ?label3:string * (unit -> 'c) option -> 'c Type.t -> 'd Type.t -> ('a -> 'b -> 'c -> 'd) Type.t//
-Cil.cilVisitor//A visitor interface for traversing CIL trees. Create instantiations of this type by specializing the class Cil.nopCilVisitor. Each of the specialized visiting functions can also call the queueInstr to specify that some instructions should be inserted before the current instruction or statement. Use syntax like self#queueInstr to call a method associated with the current object. Important Note for Frama-C Users: Unless you really know what you are doing, you should probably inherit from the Visitor.generic_frama_c_visitor instead of Cil.genericCilVisitor or Cil.nopCilVisitor/
+Cmdline.stage.Loading//After Extended, the stage where a previous Frama-C     internal states is restored (e.g. the one specified by     -load or by running the journal)./
+Cil.cilVisitor//A visitor interface for traversing CIL trees. Create instantiations of this type by specializing the class Cil.nopCilVisitor. Each of the specialized visiting functions can also call the queueInstr to specify that some instructions should be inserted before the current statement. Use syntax like self#queueInstr to call a method associated with the current object. Important Note for Frama-C Users: Unless you really know what you are doing, you should probably inherit from the Visitor.generic_frama_c_visitor instead of Cil.genericCilVisitor or Cil.nopCilVisitor/
 Cil.lzero/?loc:Cil_types.location -> unit -> Cil_types.term/The constant logic term zero./
 Db.Value.is_reachable/Db.Value.state -> bool/add_formals_to_state state kf exps evaluates exps in state  and binds them to the formal arguments of kf in the resulting  state/
-Cil_types.compinfo/{mutable cstruct: bool; corig_name: string; mutable cname: string; mutable ckey: int; mutable cfields: Cil_types.fieldinfo list; mutable cattr: Cil_types.attributes; mutable cdefined: bool; mutable creferenced: bool}/The definition of a structure or union type. Use Cil.mkCompInfo to make one and use Cil.copyCompInfo to copy one (this ensures that a new key is assigned and that the fields have the right pointers to parents.)./
-Cil_types.logic_type_info/{lt_name: string; lt_params: string list; mutable lt_def: Cil_types.logic_type_def option; mutable lt_attr: Cil_types.attributes}/Description of a logic type./
+Cil_types.compinfo//The definition of a structure or union type. Use Cil.mkCompInfo to make one and use Cil.copyCompInfo to copy one (this ensures that a new key is assigned and that the fields have the right pointers to parents.)./
+Cil_types.logic_type_info//Description of a logic type./
 Cmdline.run_after_loading_stage/(unit -> unit) -> unit/Register an action to be executed at the end of the loading stage./
 Locations/Base.t -> Cil_types.typ -> Cil_types.offset -> Locations.locationend /Memory locations./
-File.must_recompute_cfg/Cil_types.fundec -> unit/must_recompute_cfg f must be called by code transformation hooks  when they modify statements in function f. This will trigger a  recomputation of the cfg of f after the transformation./
+Logic_const.new_acsl_extension/string -> Cil_types.location -> bool -> Cil_types.acsl_extension_kind -> Cil_types.acsl_extension/creates a new acsl_extension with a fresh id./
+Acsl_extension.register_code_annot_next_stmt/string -> ?preprocessor:Acsl_extension.extension_preprocessor -> Acsl_extension.extension_typer -> ?visitor:Acsl_extension.extension_visitor -> ?printer:Acsl_extension.extension_printer -> ?short_printer:Acsl_extension.extension_printer -> bool -> unit/Registers extension for code annotation to be evaluated for the _next_ statement. See register_behavior./
+File.must_recompute_cfg/Cil_types.fundec -> unit/must_recompute_cfg f must be called by code transformation hooks when they modify statements in function f. This will trigger a recomputation of the cfg of f after the transformation./
 Parameter_sig.Builder.Kernel_function_set/functor (X : Parameter_sig.Input_with_arg ) -> Parameter_sig.Kernel_function_set/Is there some element satisfying the given predicate?/
 Ast.add_monotonic_state/State.t -> unit/indicates that the given state (which must depend on Ast.self) is robust against additions to the AST, that is, it will be able to compute information on the new nodes whenever needed. Ast.mark_as_grown will not erase such states, while Ast.mark_as_changed and clearing Ast.self itself will./
 Visitor.visitFramacFunction/Visitor.frama_c_visitor -> Cil_types.fundec -> Cil_types.fundec/Visit a function definition./
-File.create_project_from_visitor/?reorder:bool -> ?last:bool -> string -> (Project.t -> Visitor.frama_c_visitor) -> Project.t/Return a new project with a new cil file representation by visiting the  file of the current project. If reorder is true, the globals in the  AST of the new project are reordered (default is false). If last is  true (by default), remember than the returned project is the last  created one.  The visitor is responsible to avoid sharing between old file and new  file (i.e. it should use Cil.copy_visit at some point). raised exception: File_types.Bad_Initialization./
+File.create_project_from_visitor/?reorder:bool -> ?last:bool -> string -> (Project.t -> Visitor.frama_c_visitor) -> Project.t/Return a new project with a new cil file representation by visiting the file of the current project. If reorder is true, the globals in the AST of the new project are reordered (default is false). If last is true (by default), remember than the returned project is the last created one. The visitor is responsible to avoid sharing between old file and new file (i.e. it should use Cil.copy_visit at some point). raised exception: File_types.Bad_Initialization./
+Cil_types.binop.Div////
 Parameter_sig.Bool/Parameter_sig.Bool/Signature for a boolean parameter./
-Visitor.generic_frama_c_visitor/Cil.visitor_behavior -> /Generic class that abstracts over frama_c_inplace and frama_c_copy./
-Db.Value.get_stmt_state/Cil_types.stmt -> Db.Value.state/Initial state used by the analysis/
-Logic_typing.typing_context/{is_loop: unit -> bool; anonCompFieldName: string; conditionalConversion: Cil_types.typ -> Cil_types.typ -> Cil_types.typ; find_macro: string -> Logic_ptree.lexpr; find_var: string -> Cil_types.logic_var; find_enum_tag: string -> Cil_types.exp * Cil_types.typ; find_comp_field: Cil_types.compinfo -> string -> Cil_types.offset; find_type: Logic_typing.type_namespace -> string -> Cil_types.typ; find_label: string -> Cil_types.stmt Pervasives.ref; remove_logic_function: string -> unit; remove_logic_type: string -> unit; remove_logic_ctor: string -> unit; add_logic_function: Cil_types.logic_info -> unit; add_logic_type: string -> Cil_types.logic_type_info -> unit; add_logic_ctor: string -> Cil_types.logic_ctor_info -> unit; find_all_logic_functions: string -> Cil_types.logic_info list; find_logic_type: string -> Cil_types.logic_type_info; find_logic_ctor: string -> Cil_types.logic_ctor_info; pre_state: Logic_typing.Lenv.t; post_state: Cil_types.termination_kind list -> Logic_typing.Lenv.t; assigns_env: Logic_typing.Lenv.t; silent: bool; type_predicate: Logic_typing.typing_context -> Logic_typing.Lenv.t -> Logic_ptree.lexpr -> Cil_types.predicate/typechecks a predicate. Note that the first argument is itself a  typing_context, which allows for open recursion. Namely, it is  possible for the extension to change the type-checking functions for  the sub-nodes of the parsed tree, and not only for the toplevel lexpr./
+Cil_types.stmtkind.Instr/ of Cil_types.instr/An instruction that does not contain control flow. Control implicitly  falls through./
+Visitor.generic_frama_c_visitor/Visitor_behavior.t -> /Generic class that abstracts over frama_c_inplace and frama_c_copy./
+Db.Value.get_stmt_state/?after:bool -> Cil_types.stmt -> Db.Value.state/after is false by default./
+Logic_typing.typing_context//Functions that can be called when type-checking an extension of ACSL./
 Parameter_sig.Builder.False/functor (X : Parameter_sig.Input ) -> Parameter_sig.Bool/Set the boolean to false./
 Cil.cilVisitor.vglob/Cil_types.global -> Cil_types.global list Cil.visitAction/Global (vars, types, etc.)/
+Cil_types.ext_category//Where are we expected to find corresponding extension keyword./
 Parameter_sig.Builder.String/string end ) -> Parameter_sig.String/What is the possible range of values for this parameter./
 State/t -> unitend /A state is a project-compliant mutable value./
 Type.name/'a Type.t -> string/Apply this functor to access to the abstract type of the given name./
-Log.Messages.debug/?level:int -> ?dkey:Log.category -> 'a Log.pretty_printer/Debugging information dedicated to Plugin developers.  Default level is 1. The debugging key is used in message headers.	See also set_debug_keys and set_debug_keyset./
+Log.Messages.debug/?level:int -> ?dkey:Log.Messages.category -> 'a Log.pretty_printer/Debugging information dedicated to Plugin developers.  Default level is 1. The debugging key is used in message headers.  See also set_debug_keys and set_debug_keyset./
 Cil_state_builder/functor (Data : Datatype.S ) -> functor (Info : State_builder.Info_with_size ) -> State_builder.Hashtbl with type key = Cil_types.kernel_function       and type data = Data.tend /Functors for building computations which use kernel datatypes./
-Cil_printer.register_behavior_extension/string -> (Printer_api.extensible_printer_type -> Format.formatter -> Cil_types.acsl_extension_kind -> unit) -> unit/Register a pretty-printer used for behavior extension./
+Log.Messages.warn_category//Same as above, but for warnings/
 Structural_descr.p_int/Structural_descr.pack/Equivalent to pack Abstract/
-Lmap/V.t Lmap.default_contents end ) -> module type of Lmap_sig with type v = V.t and type widen_hint_base = V.generic_widen_hint and type offsetmap = Offsetmap.tend /Maps from bases to memory maps. The memory maps are those of the Offsetmap module./
-Dynamic/string list -> unitend /Value accesses through dynamic typing./
-Kernel_function.dummy/unit -> t/callsites f collect the statements where f is called. Same  complexity as find_from_sid./
-Design/GSourceView2.source_buffer -> offset:int -> Property_status.Feedback.t -> unitend end /The extensible GUI./
+Lmap/V.t Lmap.default_contents end ) -> module type of Lmap_sig with type v = V.t and type widen_hint_base = V.numerical_widen_hint and type offsetmap = Offsetmap.tend /Maps from bases to memory maps. The memory maps are those of the Offsetmap module./
+Dynamic/string -> boolend /Value accesses through dynamic typing./
+Kernel_function.dummy/unit -> t/is_between b s1 s2 s3 returns true if the statement s2 appears strictly between s1 and s3 inside the b.bstmts list. All three statements must actually occur in b.bstmts, either directly or indirectly (see Kernel_function.find_enclosing_stmt_in_block). raised exception: AbortFatal./
+Design/GSourceView.source_buffer -> ?call_site:Cil_types.stmt -> offset:int -> Property_status.Feedback.t -> unitend end /The extensible GUI./
+Structural_descr.structure.Sum/ of Structural_descr.pack array array/Sum c describes a non-array type where c is an array describing  the non-constant constructors of the type being described (in the order  of their declarations in that type). Each element of this latter array  is an array of t that describes (in order) the fields of the  corresponding constructor./
+Visitor_behavior.inplace/unit -> Visitor_behavior.t/In-place modification. Behavior of the original cil visitor./
 Datatype.list/'a Type.t -> 'a list Type.t/Functor for polymorphic types with 4 type variables./
 Cil.cilVisitor.vlogic_var_decl/Cil_types.logic_var -> Cil_types.logic_var Cil.visitAction//
-Cil_types.typeinfo/{torig_name: string; mutable tname: string; mutable ttype: Cil_types.typ; mutable treferenced: bool}/Information about a defined type./
+Cil_types.typeinfo//Information about a defined type./
 Ast.self/State.t/The state kind associated to the cil AST./
 Type.AlreadyExists/string/May be raised by Type.register./
 Property_status/Property.t -> boolend /Status of properties./
 Datatype.never_any_project/(Project_skeleton.t -> bool) -> 'a -> bool/Must be used for mem_project if values of your type does never contain any project./
-Property/string -> stringend end /ACSL comparable property./
-Cil_datatype/unit -> unitend /Datatypes of some useful CIL types./
+Property/?truncate:int -> Property.identified_property -> stringend end /ACSL comparable property./
+Cil_datatype/S with type t = Logic_ptree.lexprend /Datatypes of some useful CIL types./
+Cmdline.stage.Early//Initial stage for very specific almost hard-coded     options. Do not use it./
+Acsl_extension.register_behavior/string -> ?preprocessor:Acsl_extension.extension_preprocessor -> Acsl_extension.extension_typer -> ?visitor:Acsl_extension.extension_visitor -> ?printer:Acsl_extension.extension_printer -> ?short_printer:Acsl_extension.extension_printer -> bool -> unit/register_behavior name ~preprocessor typer ~visitor ~printer ~short_printer status registers new ACSL extension to be used in function contracts with name name. The optional preprocessor is a function to be applied by the parser on the untyped content of the extension before parsing the rest of the processed file. By default, this function is the identity. The typer is applied when transforming the untyped AST to Cil. It recieves the typing context of the annotation that can be used to type the received logic expressions (see Logic_typing.typing_context), and the location of the annotation. The optional visitor allows changing the way the ACSL extension is visited. By default, the behavior is Cil.DoChildren, which ends up visiting each identified predicate/term in the list and leave the id as is. The optional printer allows changing the way the ACSL extension is pretty printed. By default, it prints the name of the extension followed by the formatted predicates, terms or identifier according to the Cil_types.acsl_extension_kind. The optional short_printer allows changing the Printer.pp_short_extended behavior for the ACSL extension. By default, it just prints the name. It is for example used for the filetree in the GUI. The status indicates whether the extension can be assigned a property status or not. Here is a basic example:  let count = ref 0 let foo_typer typing_context loc = function  | p :: [] ->  Ext_preds  [ (typing_context.type_predicate    typing_context    (typing_context.post_state [Normal])    p)])  | [] -> let id = !count in incr count; Ext_id id  | _ -> typing_context.error loc "expecting a predicate after keyword FOO" let () = Acsl_extension.register_behavior "FOO" foo_typer false /
 Datatype.Int/Datatype.S_with_collections with type t = int/Deep copy: no possible sharing between x and copy x./
 Datatype.Make/functor (X : Datatype.Make_input ) -> Datatype.S with type t = X.t/Generic datatype builder./
-Cil.set_varinfo/Cil.visitor_behavior -> Cil_types.varinfo -> Cil_types.varinfo -> unit/change the representative of a given varinfo in the current  state of the visitor. Use with care (i.e. makes sure that the old one  is not referenced anywhere in the AST, or sharing will be lost./
+Acsl_extension.register_code_annot_next_loop/string -> ?preprocessor:Acsl_extension.extension_preprocessor -> Acsl_extension.extension_typer -> ?visitor:Acsl_extension.extension_visitor -> ?printer:Acsl_extension.extension_printer -> ?short_printer:Acsl_extension.extension_printer -> bool -> unit/Registers extension for loop annotation. See register_behavior./
 Cmdline.run_after_setting_files/(string list -> unit) -> unit/Register an action to be executed just after setting the files put on the command line. The argument of the function is the list of files./
 Dynamic.register/?comment:string -> plugin:string -> string -> 'a Type.t -> journalize:bool -> 'a -> 'a/register ~plugin name ty v registers v with the name name, the type ty and the plug-in plugin. raised exception: Type.AlreadyExists./
+Cil_types.ext_code_annot_context//can be found both as normal code annot or loop annot./
+Acsl_extension.register_code_annot/string -> ?preprocessor:Acsl_extension.extension_preprocessor -> Acsl_extension.extension_typer -> ?visitor:Acsl_extension.extension_visitor -> ?printer:Acsl_extension.extension_printer -> ?short_printer:Acsl_extension.extension_printer -> bool -> unit/Registers extension for code annotation to be evaluated at _current_ program point. See register_behavior./
 Kernel/Parameter_sig.Boolend /Provided services for kernel developers./
 Emitter.create/string -> Emitter.kind list -> correctness:Typed_parameter.t list -> tuning:Typed_parameter.t list -> t/Emitter.create name kind ~correctness ~tuning creates a new emitter with the given name. The given parameters are the ones which impact the generated annotations/status. A "correctness" parameter may fully change a generated element when its value changes (for instance, a valid status may become invalid and conversely). A "tuning" parameter may improve a generated element when its value changes (for instance, a "dont_know" status may become valid or invalid, but a valid status cannot become invalid). The given name must be unique. raised exception: Invalid_argument./
+Type.precedence.Call//Instantiation of polymorphic type/
 Plugin.Register/string end ) -> Plugin.General_services/Functors for registering a new plug-in. It provides access to several services./
+Visitor_behavior.copy/Project.t -> Visitor_behavior.t/Makes fresh copies of the mutable structures.- preserves sharing for varinfo.- makes fresh copy of varinfo only for declarations. Variables that are  only used in the visited AST are thus still shared with the original  AST. This allows for instance to copy a function with its  formals and local variables, and to keep the references to other  globals in the function's body./
 Cil.cilVisitor.vlogic_type_info_decl/Cil_types.logic_type_info -> Cil_types.logic_type_info Cil.visitAction//
 Dynamic.Parameter.Bool/string -> unit -> unitend /Boolean parameters./
 Datatype/functor (W : Datatype.Sub_caml_weak_hashtbl ) -> functor (D : Datatype.S with type t = W.data ) -> Datatype.S with type t = W.tend /A datatype provides useful values for types. It is a high-level API on top of module Type./
-Lattice_type/Lattice_type.Lattice_Hashconsed_Setend /Lattice signatures./
+Lattice_type/Lattice_type.Lattice_Setend /Lattice signatures./
 Cabs2cil.convFile/Cabs.file -> Cil_types.file/new hook that will be called when processing a for loop. Argument is the increment part of the loop./
 Datatype.Pair/functor (T1 : Datatype.S ) -> functor (T2 : Datatype.S ) -> Datatype.S with type t = T1.t * T2.t/Deep copy: no possible sharing between x and copy x./
 Dynamic.get/plugin:string -> string -> 'a Type.t -> 'a/get ~plugin name ty returns the value registered with the name name, the type ty and the plug-in plugin. This plug-in will be loaded if required. raised exceptions: , if the name is not registered, if the name is not registered with a compatible type, _ in the -no-obj mode/
@@ -160,85 +196,118 @@ Annotations.add_assert/Emitter.t -> ?kf:Cil_types.kernel_function -> Cil_types.s
 Cil.visitCilFileCopy/Cil.cilVisitor -> Cil_types.file -> Cil_types.file/Visit a file. This will re-cons all globals TWICE (so that it is tail-recursive). Use Cil.visitCilFileSameGlobals if your visitor will not change the list of globals./
 Parameter_sig.Kernel_function_set/Parameter_sig.Set with type elt = Cil_types.kernel_function  and type t = Cil_datatype.Kf.Set.t/Set of defined kernel functions. If you want to also include pure prototype, use Parameter_customize.argument_may_be_fundecl./
 Parameter_sig.Builder.Empty_string/functor (X : Parameter_sig.Input_with_arg ) -> Parameter_sig.String/always return the argument, even if the argument is not a function name./
-Ast.mark_as_changed/unit -> unit/call this function whenever you've made some changes in place  inside the AST/
-Log.Messages.result/?level:int -> ?dkey:Log.category -> 'a Log.pretty_printer/Results of analysis. Default level is 1./
+Ast.mark_as_changed/unit -> unit/call this function whenever you've made some changes in place inside the AST/
+Log.Messages.result/?level:int -> ?dkey:Log.Messages.category -> 'a Log.pretty_printer/Results of analysis. Default level is 1./
 Kernel.SafeArrays/Parameter_sig.Bool/Behavior of option "-safe-arrays"./
-Cil_types.stmt/{mutable labels: Cil_types.label list; mutable skind: Cil_types.stmtkind; mutable sid: int; mutable succs: Cil_types.stmt list; mutable preds: Cil_types.stmt list; mutable ghost: bool}/Statements./
-Cil.visitCilFileSameGlobals/Cil.cilVisitor -> Cil_types.file -> unit/A visitor for the whole file that does not change the globals (but maybe changes things inside the globals). Use this function instead of Cil.visitCilFile whenever appropriate because it is more efficient for long files./
+Cil_types.stmt//Statements./
+Cil.visitCilFileSameGlobals/Cil.cilVisitor -> Cil_types.file -> unit/A visitor for the whole file that does not *physically* change the globals (but maybe changes things inside the globals through side-effects). Use this function instead of Cil.visitCilFile whenever appropriate because it is more efficient for long files./
+Datatype.S_with_collections/Datatype.S_with_collections/A datatype for a type t extended with predefined set, map and hashtbl over t./
 Cmdline.run_after_extended_stage/(unit -> unit) -> unit/Register an action to be executed at the end of the extended stage./
-Db.Value.compute/(unit -> unit) Pervasives.ref/Compute the value analysis using the entry point of the current  project. You may set it with Globals.set_entry_point. raised exceptions: , if the entry point is incorrect, if some arguments are  specified for the entry point using Db.Value.fun_set_args, and  an incorrect number of them is given./
-Cil_types.logic_info/{mutable l_var_info: Cil_types.logic_var; mutable l_labels: Cil_types.logic_label list; mutable l_tparams: string list; mutable l_type: Cil_types.logic_type option; mutable l_profile: Cil_types.logic_var list; mutable l_body: Cil_types.logic_body}/description of a logic function or predicate./
-Cil_types.fundec/{mutable svar: Cil_types.varinfo; mutable sformals: Cil_types.varinfo list; mutable slocals: Cil_types.varinfo list; mutable smaxid: int; mutable sbody: Cil_types.block; mutable smaxstmtid: int option; mutable sallstmts: Cil_types.stmt list; mutable sspec: Cil_types.funspec}/Function definitions./
-Locations.Location_Bytes/bool -> unitend /Association between bases and offsets in byte./
-Project.on/?selection:State_selection.t -> t -> ('a -> 'b) -> 'a -> 'b/on p f x sets the current project to p, computes f x then  restores the current project. You should use this function if you use a  project different of current ()./
+Db.Value.compute/(unit -> unit) Stdlib.ref/Compute the value analysis using the entry point of the current  project. You may set it with Globals.set_entry_point. raised exceptions: , if the entry point is incorrect, if some arguments are  specified for the entry point using Db.Value.fun_set_args, and  an incorrect number of them is given./
+Visitor_behavior.Get_orig/Visitor_behavior.Get/Get operations on behaviors, allows to get the original representative of an element of the new AST in the curent state of the visitor. Get_orig.ast_element vis new_e with new_e of type ast_element gets the original representative of new_e in vis. For example for Cil_types.varinfo: Get_orig.varinfo vis new_vi./
+Cil_types.stmtkind.TryFinally/ of Cil_types.block * Cil_types.block * Cil_types.location/On MSVC we support structured exception handling. This is what you might  expect. Control can get into the finally block either from the end of the  body block, or if an exception is thrown./
+Cil_types.logic_info//description of a logic function or predicate./
+Cil_types.fundec//Function definitions./
+Locations.Location_Bytes/Locations.Location_Bytes.t -> Locations.Location_Bytes.tend /Association between bases and offsets in byte./
+Project.on/?selection:State_selection.t -> t -> ('a -> 'b) -> 'a -> 'b/on p f x sets the current project to p, computes f x then restores the current project. You should use this function if you use a project different of current ()./
 Cabs/end /Untyped AST./
 Design.main_window_extension_points//This is the type of extension points for the GUI./
 Pretty_utils/?align:Pretty_utils.align -> ?pp:string Pretty_utils.formatter -> Pretty_utils.marger -> string Pretty_utils.formatterend /Pretty-printer utilities./
+Cil_types.binop.Mod//%/
 Dynamic.Parameter/string -> (string -> unit) -> unitend end /Module to use for accessing parameters of plug-ins. Assume that the plug-in is already loaded./
 Datatype.Polymorphic2/((Project_skeleton.t -> bool) -> 'a -> bool) -> ((Project_skeleton.t -> bool) -> 'b -> bool) -> (Project_skeleton.t -> bool) -> ('a, 'b) Datatype.t -> bool end ) -> Datatype.Polymorphic2 with type ('a, 'b) poly = ('a, 'b) P.t/Functor for polymorphic types with 2 type variables./
-Parameter_customize.set_negative_option_name/string -> unit/For boolean parameters, set the name of the negative  option generating automatically from the positive one (the given option  name). The default used value prefixes the given option name by "-no".  Assume that the given string is a valid option name or empty.  If it is empty, no negative option is created./
-Parameter_state.get_selection/?is_set:bool -> unit -> State_selection.t/Selection of all the settable parameters.  is_set is true by default (for backward compatibility): in such a  case, for each option, the extra internal state indicating whether it is  set also belongs to the selection./
+Cil_types.stmtkind.Block/ of Cil_types.block/Just a block of statements. Use it as a way to keep some block attributes  local./
+Cil.visitAction.JustCopyPost/ of ('a -> 'a)/same as JustCopy + applies the given function to the result./
+Parameter_customize.set_negative_option_name/string -> unit/For boolean parameters, set the name of the negative option generating automatically from the positive one (the given option name). The default used value prefixes the given option name by "-no". Assume that the given string is a valid option name or empty. If it is empty, no negative option is created./
+Parameter_state.get_selection/?is_set:bool -> unit -> State_selection.t/Selection of all the settable parameters. is_set is true by default (for backward compatibility): in such a case, for each option, the extra internal state indicating whether it is set also belongs to the selection./
 Cil.cilVisitor.vlogic_ctor_info_decl/Cil_types.logic_ctor_info -> Cil_types.logic_ctor_info Cil.visitAction//
-Project.save/?selection:State_selection.t -> ?project:t -> string -> unit/Save a given project in a file. Default project is current (). raised exception: IOError./
-Plugin/(Plugin.plugin -> unit) -> unitend /Provided plug-general services for plug-ins./
-Cil.get_original_varinfo/Cil.visitor_behavior -> Cil_types.varinfo -> Cil_types.varinfo/retrieve the original representative of a given copy of a varinfo  in the current state of the visitor./
-Cil_types.acsl_extension_kind/ | Ext_id of int | Ext_terms of Cil_types.term list | Ext_preds of Cil_types.predicate list/a list of predicates, the most common case of for extensions/
-Cabs.file//the string is a file name, and then the list of toplevel forms./
-Cil_datatype.Varinfo/tend /Identity of a key. Must verify id k >= 0 and       equal k1 k2 ==> id k1 = id k2/
+Project.save/?selection:State_selection.t -> ?project:t -> Filepath.Normalized.t -> unit/Save a given project in a file. Default project is current (). raised exception: IOError./
+Plugin/(Plugin.plugin -> 'a -> 'a) -> 'a -> 'aend /Plugin registration and general services./
+Datatype.Ty.ty/Datatype.Ty.t Type.t//
+Cil_types.acsl_extension_kind//a list of predicates, the most common case of for extensions/
+Cabs.file//the file name, and then the list of toplevel forms./
+State_selection.with_dependencies/State.t -> State_selection.t/The selection containing the given state and all its dependencies./
+Cil_datatype.Varinfo/tend /Identity of a key. Must verify id k >= 0 and      equal k1 k2 ==> id k1 = id k2/
+Analysis.is_computed/unit -> bool/Return true iff the Eva analysis has been done./
+Cil_types.global.GFun/ of Cil_types.fundec * Cil_types.location/A function definition./
 Cil.cilVisitor.vfile/Cil_types.file -> Cil_types.file Cil.visitAction/visit a whole file./
-Cil.copy_visit/Project.t -> Cil.visitor_behavior/Makes fresh copies of the mutable structures.- preserves sharing for varinfo.- makes fresh copy of varinfo only for declarations. Variables that are  only used in the visited AST are thus still shared with the original  AST. This allows for instance to copy a function with its  formals and local variables, and to keep the references to other  globals in the function's body./
-Log.print_delayed/(Format.formatter -> unit) -> unit/Direct printing on output. Same as print_on_output, except  that message echo is not delayed until text material is actually  written. This gives an chance for formatters to emit messages  before actual pretty printing.  Can not be recursively invoked./
+Cil_types.global_annotation.Dextended/ of Cil_types.acsl_extension * Cil_types.attributes * Cil_types.location/Extended global clause./
+Log.print_delayed/(Stdlib.Format.formatter -> unit) -> unit/Direct printing on output. Same as print_on_output, except that message echo is not delayed until text material is actually written. This gives an chance for formatters to emit messages before actual pretty printing. Can not be recursively invoked./
 Cil.cilVisitor.vvdec/Cil_types.varinfo -> Cil_types.varinfo Cil.visitAction/Invoked for each variable declaration. The children to be traversed  are those corresponding to the type and attributes of the variable.  Note that variable declarations are GVar, GVarDecl, GFun and  GFunDecl globals, the formals of functions prototypes, and the  formals and locals of function definitions. This means that the list  of formals of a function may be traversed multiple times if there exists  both a declaration and a definition, or multiple declarations./
+Datatype.S_no_copy.pretty/Stdlib.Format.formatter -> Datatype.t -> unit/Pretty print each value in an user-friendly way./
 Visitor.frama_c_inplace//in-place visitor; always act in the current project./
 Abstract_interp/functor (L1 : Lattice_type.AI_Lattice_with_cardinal_one ) -> functor (L2 : Lattice_type.AI_Lattice_with_cardinal_one ) -> Lattice_Sum with type t1 = L1.t and type t2 = L2.tend /Functors for generic lattices implementations./
+Eva.Analysis.is_computed/unit -> bool/Return true iff the Eva analysis has been done./
 Log.Messages.verify/bool -> ('a, bool) Log.pretty_aborter/If the first argument is true, return true and do nothing else,  otherwise, send the message on the fatal channel and return  false.  The intended usage is: assert (verify e "Bla...") ;./
-Ast.get/unit -> Cil_types.file/Get the cil file representation.  One of the initialisation function of module File has to be called  before using this function. raised exception: Bad_Initialization./
-Locations.enumerate_valid_bits/for_writing:bool -> Locations.location -> Locations.Zone.t/Is the valid part of the location bottom or a singleton?/
-File.add_code_transformation_after_cleanup/?deps:(module Parameter_sig.S) list -> ?before:File.code_transformation_category list -> ?after:File.code_transformation_category list -> File.code_transformation_category -> (Cil_types.file -> unit) -> unit/Same as above, but the hook is applied after clean up.  At this level, globals and ACSL annotations have been registered. If  the hook adds some new globals or annotations, it must take care of  adding them in the appropriate tables.  Note that it is the responsibility of the hook to use  Ast.mark_as_changed or Ast.mark_as_grown whenever it is the case./
-Cil_types.file/{mutable fileName: string; mutable globals: Cil_types.global list; mutable globinit: Cil_types.fundec option; mutable globinitcalled: bool}/The top-level representation of a CIL source file (and the result of the parsing and elaboration). Its main contents is the list of global declarations and definitions. You can iterate over the globals in a Cil_types.file using the following iterators: Cil.mapGlobals, Cil.iterGlobals and Cil.foldGlobals. You can also use the Cil.dummyFile when you need a Cil_types.file as a placeholder. For each global item CIL stores the source location where it appears (using the type Cil_types.location)/
-Type.par/Type.precedence -> Type.precedence -> Format.formatter -> (Format.formatter -> unit) -> unit/par context myself fmt pp puts parenthesis around the verbatim prints by pp according to the precedence myself of the verbatim and to the precedence context of the caller of the pretty printer. fmt is the output formatter. The typical use is the following: let pretty_print p_caller fmt x = let pp fmt = Format.fprintf "..." ... x ... in let myself = Call in par p_caller myself fmt pp/
-Logic_typing.register_behavior_extension/string -> (typing_context:Logic_typing.typing_context -> loc:Cil_types.location -> Logic_ptree.lexpr list -> Cil_types.acsl_extension_kind) -> unit/register_behavior_extension name f registers a typing function f to be used to type clause with name name. Here is a basic example: let count = ref 0 in let foo_typer ~typing_context ~loc ps = match ps with p::[] ->  Ext_preds     (typing_context.type_predicate    typing_context    (typing_context.post_state [Normal])    p))  | [] -> let id = !count in incr count; Ext_id id  | _ -> typing_context.error loc "expecting a predicate after keyword FOO" let () = register_behavior_extension "FOO" foo_typer/
+Cil.visitAction.SkipChildren//Do not visit the children. Return the node as it is./
+Ast.get/unit -> Cil_types.file/Get the cil file representation. One of the initialization function of module File has to be called before using this function. raised exception: Bad_Initialization./
+Cil_types.stmtkind.Switch/ of Cil_types.exp * Cil_types.block * Cil_types.stmt list * Cil_types.location/A switch statement. exp is the index of the switch. block is  the body of the switch. stmt list contains the set of  statements whose labels are cases of the switch (i.e. for each  case, the corresponding statement is in stmt list, a statement  cannot appear more than once in the list, and statements in  stmt list can have several labels corresponding to several  cases./
+Locations.enumerate_valid_bits/Locations.access -> Locations.location -> Locations.Zone.t/Is there a possibly non-empty intersection between two given locations? If partial is true, returns true if the two locations may be overlapping without being equal. If partial is false, also returns true if the two locations may be equal. Returns false when the two locations cannot be overlapping./
+File.add_code_transformation_after_cleanup/?deps:(module Parameter_sig.S) list -> ?before:File.code_transformation_category list -> ?after:File.code_transformation_category list -> File.code_transformation_category -> (Cil_types.file -> unit) -> unit/Same as above, but the hook is applied after clean up. At this level, globals and ACSL annotations have been registered. If the hook adds some new globals or annotations, it must take care of adding them in the appropriate tables. Note that it is the responsibility of the hook to use Ast.mark_as_changed or Ast.mark_as_grown whenever it is the case./
+Cil_types.file//The top-level representation of a CIL source file (and the result of the parsing and elaboration). Its main contents is the list of global declarations and definitions. You can iterate over the globals in a Cil_types.file using the following iterators: Cil.mapGlobals, Cil.iterGlobals and Cil.foldGlobals. You can also use the Cil.dummyFile when you need a Cil_types.file as a placeholder. For each global item CIL stores the source location where it appears (using the type Cil_types.location)/
+Type.par/Type.precedence -> Type.precedence -> Stdlib.Format.formatter -> (Stdlib.Format.formatter -> unit) -> unit/par context myself fmt pp puts parenthesis around the verbatim prints by pp according to the precedence myself of the verbatim and to the precedence context of the caller of the pretty printer. fmt is the output formatter. The typical use is the following: let pretty_print p_caller fmt x = let pp fmt = Format.fprintf "..." ... x ... in let myself = Call in par p_caller myself fmt pp/
 Datatype.bool/bool Type.t//
-Datatype.pp_fail/Type.precedence -> Format.formatter -> 'a -> unit/Must be used for internal_pretty_code if this pretty-printer must fail only when called./
+Datatype.pp_fail/Type.precedence -> Stdlib.Format.formatter -> 'a -> unit/Must be used for internal_pretty_code if this pretty-printer must fail only when called./
 Visitor.visitFramacFileSameGlobals/Visitor.frama_c_visitor -> Cil_types.file -> unit/A visitor for the whole file that does not change the globals (but maybe changes things inside the globals). Use this function instead of Visitor.visitFramacFile whenever appropriate because it is more efficient for long files./
-Log.Messages.with_log/(Log.event -> 'b) -> ?kind:Log.kind -> ('a, 'b) Log.pretty_aborter//
-Cil.visitor_behavior//Visitor behaviorHow the visitor should behave in front of mutable fields: in  place modification or copy of the structure. This type is abstract.  Use one of the two values below in your classes./
+Structural_descr.t.Structure/ of Structural_descr.structure/Provide a description of the representation of data./
+Cil_types.relation.Rneq//Different/
+Cil_types.stmtkind.Return/ of Cil_types.exp option * Cil_types.location/The return statement. This is a leaf in the CFG./
 Cmdline.run_after_early_stage/(unit -> unit) -> unit/Register an action to be executed at the end of the early stage./
-Cil_types.logic_var/{mutable lv_name: string; mutable lv_id: int; mutable lv_type: Cil_types.logic_type; mutable lv_kind: Cil_types.logic_var_kind; mutable lv_origin: Cil_types.varinfo option; mutable lv_attr: Cil_types.attributes}/description of a logic variable/
-Dataflow/Cil_types.fundec -> Cil_types.stmt list * Cil_types.stmt listend /Deprecated: use Dataflows instead. A framework for implementing data flow analysis./
-Log.log_channel/Log.channel -> ?kind:Log.kind -> ?prefix:Log.prefix -> 'a Log.pretty_printer/logging function to user-created channel./
-Db.progress/(unit -> unit) Pervasives.ref/This function should be called from time to time by all analysers taking time. In GUI mode, this will make the interface reactive./
-Kernel_function.get_definition/t -> Cil_types.fundec/For functions with a declaration and a definition, returns the definition. raised exception: No_Definition./
+Cil.visitAction.ChangeToPost/ of 'a * ('a -> 'a)/applies the expression to the function and gives back the result.  Useful to insert some actions in an inheritance chain./
+Cil_types.logic_var//description of a logic variable/
+Cil_types.exp_node.BinOp/ of Cil_types.binop * Cil_types.exp * Cil_types.exp * Cil_types.typ/Binary operation. Includes the type of the result. The arithmetic  conversions are made explicit for the arguments./
+Log.log_channel/Log.channel -> ?kind:Log.kind -> 'a Log.pretty_printer/logging function to user-created channel./
+Cil_types.stmtkind.Loop/ of Cil_types.code_annotation list * Cil_types.block * Cil_types.location * Cil_types.stmt option * Cil_types.stmt option/A while(1) loop. The termination test is implemented in the body of a  loop using a Break statement. If Cfg.prepareCFG has been called, the  first stmt option will point to the stmt containing the continue label  for this loop and the second will point to the stmt containing the break  label for this loop./
+Db.progress/(unit -> unit) Stdlib.ref/This function should be called from time to time by all analysers taking time. In GUI mode, this will make the interface reactive./
+Kernel_function.get_definition/t -> Cil_types.fundec/Returns the list of static variables declared inside the function. raised exception: No_Definition./
 Datatype.char/char Type.t//
+Visitor_behavior.Get.stmt/Visitor_behavior.t -> Cil_types.stmt -> Cil_types.stmt/Fold operations on table of a given type of AST elements. Fold.ast_element vis f, folds f over each pair of ast_element registered in vis. The ast_element in the old AST is presented to f first (that is, f looks like: let f old_e new_e acc = .... For example for Cil_types.varinfo: Fold.varinfo vis (fun old_vi new_vi acc -> ... )./
 Cil.cilVisitor.vlogic_info_decl/Cil_types.logic_info -> Cil_types.logic_info Cil.visitAction/link to the current function being visited.  NB: for copy visitors, the fundec is the original one./
-Cil_types.acsl_extension//extension to standard ACSL clause. Each extension is associated to a keyword. An extension can be registered through the following functions:- Logic_typing.register_behavior_extension for parsing and type-checking- Cil_printer.register_behavior_extension for pretty-printing an  extended clause- Cil.register_behavior_extension for visiting an extended clause/
-Cil_types.offset/ | NoOffset | Field of Cil_types.fieldinfo * Cil_types.offset | Index of Cil_types.exp * Cil_types.offset/The offset part of an Cil_types.lval. Each offset can be applied to certain kinds of lvalues and its effect is that it advances the starting address of the lvalue and changes the denoted type, essentially focussing to some smaller lvalue that is contained in the original one./
+Cil_types.acsl_extension//Extension to standard ACSL clause with an unique identifier. The integer is a (unique) identifier. The boolean flag is true if the annotation can be assigned a property status. Use Logic_const.new_acsl_extension to create new acsl extension with a fresh id. Each extension is associated with a keyword, and can be either a global annotation, the clause of a function contract, a code annotation, or a loop annotation. An extension can be registered through the function Acsl_extension.register_xxx. It is _not_ possible to register the same keyword for annotations at two different levels (e.g. global and behavior), as this would make the grammar ambiguous./
+Cil_types.offset//The offset part of an Cil_types.lval. Each offset can be applied to certain kinds of lvalues and its effect is that it advances the starting address of the lvalue and changes the denoted type, essentially focussing to some smaller lvalue that is contained in the original one./
+Cil.visitAction.DoChildrenPost/ of ('a -> 'a)/visit the children, and apply the given function to the result./
 Datatype.Bool/Datatype.S_with_collections with type t = bool/Deep copy: no possible sharing between x and copy x./
 Cil.cilVisitor.vlogic_info_use/Cil_types.logic_info -> Cil_types.logic_info Cil.visitAction//
-File.new_file_type/string -> (string -> Cil_types.file * Cabs.file) -> unit/new_file_type suffix func funcname registers a new type of files (with  corresponding suffix) as recognized by Frama-C through func./
+File.new_file_type/string -> (string -> Cil_types.file * Cabs.file) -> unit/new_file_type suffix func funcname registers a new type of files (with corresponding suffix) as recognized by Frama-C through func./
 Log.Messages.log/?kind:Log.kind -> ?verbose:int -> ?debug:int -> 'a Log.pretty_printer/Generic log routine. The default kind is Result. Use cases (with  n,m > 0):- log ~verbose:n: emit the message only when verbosity level is  at least n.- log ~debug:n: emit the message only when debugging level is  at least n.- log ~verbose:n ~debug:m: any debugging or verbosity level is  sufficient./
 Type/'b Type.Obj_tbl.t -> ('a Type.ty -> 'a -> 'b -> unit) -> unitend end /Type value. A type value is a value representing a static ML monomorphic type. This API is quite low level. Prefer to use module Datatype instead whenever possible./
+Cmdline.stage.Exiting//Run once when exiting Frama-C./
 Datatype.identity/'a -> 'a/Must be used if you want to implement a required function by fun x -> x. Only useful for implementing rehash and copy./
-State_selection/end /A state selection is a set of states with operations for easy handling of state dependencies./
-Project.set_current/?on:bool -> ?selection:State_selection.t -> t -> unit/Set the current project with the given one.  The flag on is not for casual users. raised exception: Invalid_argument./
+State_selection/(State.t -> 'a -> 'a) -> State_selection.t -> 'a -> 'aend /A state selection is a set of states with operations for easy handling of state dependencies./
+Project.set_current/?on:bool -> ?selection:State_selection.t -> t -> unit/Set the current project with the given one. The flag on is not for casual users. raised exception: Invalid_argument./
 Logic_const/Cil_types.term_offset -> Cil_types.term_lval -> Cil_types.term_lvalend /Smart constructors for logic annotations./
 Cil.cilVisitor.vlogic_type_info_use/Cil_types.logic_type_info -> Cil_types.logic_type_info Cil.visitAction//
+Project.IOError/string/register_before_remove_hook f adds a hook called just before removing a project./
 Kernel_function.Make_Table/functor (Data : Datatype.S ) -> functor (Info : State_builder.Info_with_size ) -> State_builder.Hashtbl with type key = t and type data = Data.t/Hashtable indexed by kernel functions and dealing with project./
-State_builder.Ref/unit -> Data.t end ) -> State_builder.Ref with type data = Data.t/Deep copy: no possible sharing between x and copy x./
-File.add_code_transformation_before_cleanup/?deps:(module Parameter_sig.S) list -> ?before:File.code_transformation_category list -> ?after:File.code_transformation_category list -> File.code_transformation_category -> (Cil_types.file -> unit) -> unit/add_code_transformation_before_cleanup name hook  adds an hook in the corresponding category  that will be called during the normalization of a linked  file, before clean up and removal of temps and unused declarations.  If this transformation involves changing statements of a function f,  f must be flagged with File.must_recompute_cfg.  The optional before (resp after) categories indicates that current  transformation must be executed before (resp after)  the corresponding ones, if they exist. In case of dependencies cycle,  an arbitrary order will be chosen for the transformations involved in  the cycle.  The optional deps argument gives the list of options whose change  (e.g. after a -then) will trigger the transformation over the already  computed AST. If several transformations are triggered by the same  option, their relative order is preserved.  At this level, globals and ACSL annotations have not been registered./
+State_builder.Ref/unit -> Data.t end ) -> State_builder.Ref with type data = Data.t and type Datatype.t = Data.t ref/Deep copy: no possible sharing between x and copy x./
+Visitor_behavior.Get.kernel_function/Visitor_behavior.t -> Cil_types.kernel_function -> Cil_types.kernel_function//
+Cmdline.stage.Configuring//The stage where all the parameters which were not already     set may be modified to take into account cmdline options.     Just after this stage, Frama-C will run the plug-in mains./
+Acsl_extension.register_global/string -> ?preprocessor:Acsl_extension.extension_preprocessor -> Acsl_extension.extension_typer -> ?visitor:Acsl_extension.extension_visitor -> ?printer:Acsl_extension.extension_printer -> ?short_printer:Acsl_extension.extension_printer -> bool -> unit/Registers extension for global annotation. See register_behavior./
+File.add_code_transformation_before_cleanup/?deps:(module Parameter_sig.S) list -> ?before:File.code_transformation_category list -> ?after:File.code_transformation_category list -> File.code_transformation_category -> (Cil_types.file -> unit) -> unit/add_code_transformation_before_cleanup name hook adds an hook in the corresponding category that will be called during the normalization of a linked file, before clean up and removal of temps and unused declarations. If this transformation involves changing statements of a function f, f must be flagged with File.must_recompute_cfg. The optional before (resp after) categories indicates that current transformation must be executed before (resp after) the corresponding ones, if they exist. In case of dependencies cycle, an arbitrary order will be chosen for the transformations involved in the cycle. The optional deps argument gives the list of options whose change (e.g. after a -then) will trigger the transformation over the already computed AST. If several transformations are triggered by the same option, their relative order is preserved. At this level, globals and ACSL annotations have not been registered./
 Db/end /Database in which static plugins are registered./
+Cmdline.stage.Extending//Before loading plug-ins. Run only once./
+Analysis.compute/unit -> unit/Computes the Eva analysis, if not already computed, using the entry point of the current project. You may set it with Globals.set_entry_point. raised exceptions: , if the entry point is incorrect, if some arguments are specified for the entry point using Db.Value.fun_set_args, and an incorrect number of them is given./
+Type.precedence.Basic//Normal precedence/
+FCHashtbl/int -> int -> 'a -> intend /Extension of OCaml's Hashtbl module./
+Cil_datatype.Fundec/Cil_datatype.S_with_collections_pretty with type t = fundec//
+Acsl_extension.register_code_annot_next_both/string -> ?preprocessor:Acsl_extension.extension_preprocessor -> Acsl_extension.extension_typer -> ?visitor:Acsl_extension.extension_visitor -> ?printer:Acsl_extension.extension_printer -> ?short_printer:Acsl_extension.extension_printer -> bool -> unit/Registers extension both for code and loop annotations. See register_behavior./
+From_parameters.ForceCallDeps/Parameter_sig.With_output/Option -calldeps./
 Type.Abstract/Type.Abstract.t Type.tyend /Apply this functor to access to the abstract type of the given name. raised exception: No_abstract_type./
+Cil_types.behavior//Behavior of a function or statement. This type shares the name of its constructors with Logic_ptree.behavior./
 Logic_utils/unit -> boolend /Utilities for ACSL constructs./
+Cil_types.stmtkind.Continue/ of Cil_types.location/A continue to the start of the nearest enclosing Loop./
 Cil.cilVisitor.voffs/Cil_types.offset -> Cil_types.offset Cil.visitAction/Invoked on each offset occurrence that is *not* as part of an  initializer list specification, i.e. in an lval or recursively inside an  offset./
 Cil.cilVisitor.vlogic_ctor_info_use/Cil_types.logic_ctor_info -> Cil_types.logic_ctor_info Cil.visitAction//
-Log.print_on_output/(Format.formatter -> unit) -> unit/Direct printing on output.  Message echo is delayed until the output is finished.  Then, the output is flushed and all pending message are echoed.  Notification of listeners is not delayed, however.  Can not be recursively invoked./
+Log.print_on_output/(Stdlib.Format.formatter -> unit) -> unit/Direct printing on output. Message echo is delayed until the output is finished. Then, the output is flushed and all pending message are echoed. Notification of listeners is not delayed, however. Can not be recursively invoked./
 Visitor.frama_c_visitor.vglob_aux/Cil_types.global -> Cil_types.global list Cil.visitAction/Replacement of vglob./
+Visitor_behavior.t//How the visitor should behave in front of mutable fields: in place modification or copy of the structure. This type is abstract. Use one of the two values below in your classes./
 Cmdline.run_after_configuring_stage/(unit -> unit) -> unit/Register an action to be executed at the end of the configuring stage./
 Project.current/unit -> t/The current project. raised exception: NoProject./
 State.dummy/t/A dummy state./
-Project_skeleton.t/{pid: int; mutable name: string; mutable unique_name: string}/No function is exported.  Extension of the GUI in order to support project switching./
-Cil.get_kernel_function/Cil.visitor_behavior -> Cil_types.kernel_function -> Cil_types.kernel_function//
+Project_skeleton.t//This module should not be used outside of the Project library./
 File.new_machdep/string -> Cil_types.mach -> unit/new_machdep name module registers a new machdep name as recognized by Frama-C through The usual uses is Cmdline.run_after_loading_stage  (fun () -> File.new_machdep "my_machdep" my_machdep_implem) raised exception: Invalid_argument./
 State_builder/?prj:Project.t -> string -> 'a Type.t -> 'a * boolend end /State builders. Provide ways to implement signature State_builder.S. Depending on the builder, also provide some additional useful information./
+Datatype.S_no_copy.equal/Datatype.t -> Datatype.t -> bool/Equality: same spec than Stdlib.(=)./
 Cil.cilVisitor.current_kinstr/Cil_types.kinstr/Kstmt stmt when visiting statement stmt, Kglobal when called outside  of a statement./
-Parameter_sig.Int/Parameter_sig.Int/Signature for an integer parameter./
\ No newline at end of file
+Parameter_sig.Int/Parameter_sig.Int/Signature for an integer parameter./
+Visitor_behavior.Memo/Visitor_behavior.Get/Memo operations on behaviors, allows to get a binding in the new project for the given AST element, creating one if it does not already exists. Memo.ast_element vis e with e of type ast_element tries to find a binding to a e in the new project created using vis in the current state, if it does not exist this binding is created. For example for Cil_types.varinfo: Memo.varinfo vis vi./
\ No newline at end of file
diff --git a/doc/developer/tutorial.tex b/doc/developer/tutorial.tex
index 2d4de400ff47375e3eac228c48c5d777aae64816..03ff6f1008dca324f795738aeab8612decd61e72 100644
--- a/doc/developer/tutorial.tex
+++ b/doc/developer/tutorial.tex
@@ -795,7 +795,7 @@ nothing for the other globals.
 \sscodeidx{Cil}{visitAction}{DoChildrenPost}
 \sscodeidx{Cil}{visitAction}{SkipChildren}
 \sscodeidx{Visitor}{frama\_c\_visitor}{vglob\_aux}
-\scodeidx{Cil\_types}{GFun}
+\sscodeidx{Cil\_types}{global}{GFun}
 \scodeidx{Printer\_api}{S.pp\_varinfo}
 
 \texttt{Cil.SkipChildren} tells the visitor not to visit the children
@@ -974,6 +974,15 @@ CFG'' item appears, that displays the control flow graph of the
 function in a dialog box. This is achieved just by appending the following
 pieces of code at the end of the \texttt{cfg\_print.ml} file.
 
+\begin{important}
+Frama-C's GUI can be compiled against two versions of lablgtk (the OCaml
+bindings to the Gtk toolkit). The actual rendering of the control flow graph
+is actually done by the external OCamlgraph library, and only available
+when compiling against lablgtk2. If you're using lablgtk3,
+you will only see a pop-up window indicating that there's no support for
+displaying graphs.
+\end{important}
+
 Currently, we used a visitor that outputs a \dottool file with the CFG of
 all functions of all files. We use \texttt{dump\_function} to output
 the CFG of a single function instead.
@@ -988,10 +997,10 @@ representing a function definition.
 Now we write the GUI extension code:
 
 \ocamlinput{./tutorial/viewcfg/src/gui.ml}
-\scodeidx{Pretty\_source}{PVDecl}
+\sscodeidx{Pretty\_source}{localizable}{PVDecl}
 \sscodeidx{Globals}{Functions}{get}
 \scodeidx{Kernel\_function}{get\_definition}
-\scodeidx{Gtk\_helper}{graph\_window}
+\scodeidx{Dgraph\_helper}{graph\_window}
 \scodeidx{Design}{register\_extension}
 \sscodeidx{Design}{main\_window\_extension\_points}{register\_source\_selector}
 
@@ -1146,7 +1155,7 @@ Registering a state is done by a functor application:
 
 \ocamlinput{./tutorial/viewcfg/src/register_cfg_graph_state.ml}
 \scodeidx{State\_builder}{Hashtbl}
-\sscodeidx{Cil\_datatype}{Fundec}{Hashtbl}
+\scodeidx{Cil\_datatype}{Fundec}
 \scodeidx{Datatype}{String}
 \scodeidx{Ast}{self}
 \sscodeidx{Db}{Value}{self}
@@ -1233,7 +1242,7 @@ following.
 
 \ocamlinput{./tutorial/viewcfg/src/dump_function_memo_clear_cache.ml}
 \sscodeidx{Db}{Value}{is\_computed}
-\scodeidx{State\_selection}{with\_dependencies}
+\sscodeidx{State\_selection}{S}{with\_dependencies}
 \scodeidx{Project}{clear}
 
 The only part that need to be explained is the notion of
@@ -1257,7 +1266,8 @@ val clear: ?selection:State_selection.t -> ?project:t -> unit -> unit
 \end{ocamlcode}
 \scodeidxdef{Project}{clear}
 \scodeidx{State\_selection}{t}
-\scodeidx{Project}{t}
+\codeidx{Project}
+\sscodeidx{Datatype}{Ty}{t}
 
 The arguments \texttt{selection} and \texttt{project} can be seen as a
 coordinate system, and the function allows to clear specific versions
@@ -1286,7 +1296,7 @@ To summarize:
   when the former is modified in an incompatible way. For instance, it would
   have been incorrect to not call 
   \texttt{State\_selection.with\_dependencies}
-  \scodeidx{State\_selection}{with\_dependencies} in the last code snippet of
+  \sscodeidx{State\_selection}{S}{with\_dependencies} in the last code snippet of
   this tutorial.
 \end{itemize}
 
diff --git a/doc/developer/tutorial/hello/Makefile b/doc/developer/tutorial/hello/Makefile
index 75acfacf88cae594c544236c35bf2a2d3c04505a..dd02c5be8ac68f3ef4afcc543972662f200ea40c 100644
--- a/doc/developer/tutorial/hello/Makefile
+++ b/doc/developer/tutorial/hello/Makefile
@@ -113,6 +113,7 @@ generated/makefile_multiple: generated/src/help_msg.ml \
 
 generated/with_test: generated/src/run_call_print_bug.ml \
                      generated/src/tests/hello/hello_test.c \
+                     generated/src/tests/hello/oracle/hello_test.res.oracle \
                      generated/src/Makefile.test
 	mkdir -p $@
 	cp generated/makefile_multiple/hello_options.ml $@/hello_options.ml
@@ -121,8 +122,9 @@ generated/with_test: generated/src/run_call_print_bug.ml \
 	cp generated/src/run_call_print_bug.ml $@/hello_run_bug.ml
 	echo "" >> $@/hello_run_bug.ml
 	cat generated/src/extend_run.ml >> $@/hello_run_bug.ml
-	mkdir -p $@/tests/hello
+	mkdir -p $@/tests/hello/oracle
 	cp generated/src/tests/hello/hello_test.c $@/tests/hello/hello_test.c
+	cp generated/src/tests/hello/oracle/hello_test.res.oracle $@/tests/hello/oracle/hello_test.res.oracle
 	cp generated/src/Makefile.test $@/Makefile
 
 generated/with_doc: generated/src/help_msg.ml \
diff --git a/doc/developer/tutorial/hello/src/hello_test.c b/doc/developer/tutorial/hello/src/hello_test.c
index 6ee10eeafa3bf084d6bb579ed00d4b31076b3a4b..9fcbfc12af7290704fe8367dfa4c18c556751347 100644
--- a/doc/developer/tutorial/hello/src/hello_test.c
+++ b/doc/developer/tutorial/hello/src/hello_test.c
@@ -1,3 +1,4 @@
 /* run.config
+   PLUGIN: Hello
    OPT: -hello
- */
\ No newline at end of file
+ */
diff --git a/doc/developer/tutorial/hello/src/hello_test.res.oracle b/doc/developer/tutorial/hello/src/hello_test.res.oracle
index 32e9c05eee637f6c2347a8584c15369651faaa6a..5f6ab2389a8695bba00d6527d2135e7cc3389c6b 100644
--- a/doc/developer/tutorial/hello/src/hello_test.res.oracle
+++ b/doc/developer/tutorial/hello/src/hello_test.res.oracle
@@ -1,2 +1,2 @@
-[kernel] Parsing tests/hello/hello_test.c (with preprocessing)
+[kernel] Parsing hello_test.c (with preprocessing)
 [hello] Hello, world!
diff --git a/doc/developer/tutorial/viewcfg/src/Makefile.split b/doc/developer/tutorial/viewcfg/src/Makefile.split
index fc1aebbdf00c7a55a6339fa0514f2b87a62c8e5e..9964de93ce1587907775548f06dd6218bce29523 100644
--- a/doc/developer/tutorial/viewcfg/src/Makefile.split
+++ b/doc/developer/tutorial/viewcfg/src/Makefile.split
@@ -21,7 +21,8 @@
 ##########################################################################
 
 FRAMAC_SHARE := $(shell frama-c-config -print-share-path)
-PLUGIN_NAME = ViewCfg
-PLUGIN_CMO =  cfg_options cfg_core cfg_register
-PLUGIN_GUI_CMO =  cfg_gui
+PLUGIN_NAME:= ViewCfg
+PLUGIN_CMO:=  cfg_options cfg_core cfg_register
+PLUGIN_GUI_CMO:=  cfg_gui
+PLUGIN_DEPENDENCIES:=eva
 include $(FRAMAC_SHARE)/Makefile.dynamic
diff --git a/doc/release/build.tex b/doc/release/build.tex
index e95334456938807a721bd3feefeab4641b3198cf..204751c397533b2a27013ce286bf178eb0994585 100644
--- a/doc/release/build.tex
+++ b/doc/release/build.tex
@@ -203,9 +203,9 @@ make -j byte gui-byte
 make doc # or just doc-kernel
 \end{shell}
 
-\todo{What is this step:
-check consistency of API documentation. (the plug-in development guide
-  (\texttt{make check-devguide}) doesn't work anymore)}
+You can also check that the elements referred to in the index of the
+development guide are marked as such in the API doc and vice-versa
+by issuing \texttt{make check-devguide}.
 
 \section{Build the Source Distribution}
 \label{sec:build-source-distr}
diff --git a/share/Makefile.dynamic_config.external b/share/Makefile.dynamic_config.external
index 298c4ceab2036ba1c823bf6738a4557e88d83a7d..bb292956a60bae3a8a82bb794cf0832d086476d0 100644
--- a/share/Makefile.dynamic_config.external
+++ b/share/Makefile.dynamic_config.external
@@ -20,8 +20,6 @@
 #                                                                        #
 ##########################################################################
 
-export FRAMAC_INTERNAL=no
-
 export FRAMAC_OPT=$(BINDIR)/frama-c$(EXE)
 export FRAMAC_BYTE=$(BINDIR)/frama-c.byte$(EXE)
 
diff --git a/share/Makefile.dynamic_config.internal b/share/Makefile.dynamic_config.internal
index b49d5e38fa946e457f703df44d961117e0aeb9d0..d0dc72810bcc5418e0107c004d98121de5f69a1b 100644
--- a/share/Makefile.dynamic_config.internal
+++ b/share/Makefile.dynamic_config.internal
@@ -20,7 +20,7 @@
 #                                                                        #
 ##########################################################################
 
-export FRAMAC_INTERNAL=yes
+export FRAMAC_INTERNAL?=yes
 
 export FRAMAC_OPT=$(FRAMAC_ROOT_SRCDIR)/bin/toplevel.opt$(EXE)
 export FRAMAC_BYTE=$(FRAMAC_ROOT_SRCDIR)/bin/toplevel.byte$(EXE)
diff --git a/share/Makefile.plugin.template b/share/Makefile.plugin.template
index 976ab0f64615566a95fb0e05d58c2ffc027ea2fe..a00758817d2b640aff5ea8b5d2bc8a66ec5cf39d 100644
--- a/share/Makefile.plugin.template
+++ b/share/Makefile.plugin.template
@@ -762,6 +762,9 @@ ifneq ($(ENABLE_GUI),no)
 OCAMLDOC_DEPEND:= $(OCAMLDOC_DEPEND) $(PLUGIN_GUI_CMO)
 endif
 
+PLUGIN_DOC_DUMP:=$(@PLUGIN_NAME@_DOC_DIR)/@PLUGIN_NAME@.ocamldoc
+@PLUGIN_NAME@_DOC_DUMP:=$(PLUGIN_DOC_DUMP)
+
 .PHONY: @PLUGIN_NAME@_DOC
 @PLUGIN_NAME@_DOC: $(OCAMLDOC_DEPEND) \
 		    $(OCAMLDOC_GEN) \
@@ -780,6 +783,7 @@ endif
 	  -t "@PLUGIN_NAME@ plugin" \
 	  -css-style ../style.css \
 	  -d $(@PLUGIN_NAME@_DOC_DIR) -g $(DOC_PLUGIN) -passopt -docpath $(DOC_DIR)/html \
+          -dump $(@PLUGIN_NAME@_DOC_DUMP) \
 	  $(addprefix -load ,$(wildcard $(DOC_DIR)/kernel-doc.ocamldoc)) \
 	  $(wildcard $(@PLUGIN_NAME@_DOC_SRC))
 # [rb+js] 20090619
@@ -798,6 +802,7 @@ endif
 	  $(ISED) -e 's|\(doc/code/html\)|../../../\1|g' $$f ; \
 	done
 
+PLUGIN_DOC_DUMP_LIST+=$(PLUGIN_DOC_DUMP)
 
 # removed dependencies:
 #		    $(PLUGIN_DOC_DIR)/modules.ps \
diff --git a/src/kernel_internals/runtime/boot.mli b/src/kernel_internals/runtime/boot.mli
index 00218e7f71ed938b0927aa1169b5f27da247c510..11d608fcaced570e6d4586bd475b091c177a9b77 100644
--- a/src/kernel_internals/runtime/boot.mli
+++ b/src/kernel_internals/runtime/boot.mli
@@ -20,4 +20,6 @@
 (*                                                                        *)
 (**************************************************************************)
 
-(** Nothing is exported. *)
+(** Main entry point of Frama-C. Nothing is exported.
+    @plugin development guide
+*)
diff --git a/src/kernel_services/analysis/dataflow2.mli b/src/kernel_services/analysis/dataflow2.mli
index 904542fe9b18f29fc1b2147120ff892c18b1c4e4..25f8da8cedf699d3ed2fddb5afb828d5b36b26f2 100644
--- a/src/kernel_services/analysis/dataflow2.mli
+++ b/src/kernel_services/analysis/dataflow2.mli
@@ -20,8 +20,11 @@
 (*                                                                        *)
 (**************************************************************************)
 
-(** Implementation of data flow analyses over user-supplied domains. *)
+(** Implementation of data flow analyses over user-supplied domains.
+    @plugin development guide
+*)
 
+(** possible kinds of action for backward analysis *)
 type 't action =
     Default (** The default action *)
   | Done of 't (** Do not do the default action. Use this result *)
diff --git a/src/kernel_services/ast_data/annotations.mli b/src/kernel_services/ast_data/annotations.mli
index 485a8c2c3b6724503330b3f0468ae381ee4ad0f5..b6503eb9fb79995dc437c234be4968fc00987c6b 100644
--- a/src/kernel_services/ast_data/annotations.mli
+++ b/src/kernel_services/ast_data/annotations.mli
@@ -294,13 +294,13 @@ val add_check:
   Emitter.t -> ?kf:kernel_function -> stmt -> predicate -> unit
 (** Add a checking assertion attached to the given statement. If [kf] is
     provided, the function runs faster.
-    @plugin development guide *)
+*)
 
 val add_admit:
   Emitter.t -> ?kf:kernel_function -> stmt -> predicate -> unit
 (** Add an hypothesis assertion attached to the given statement. If [kf] is
     provided, the function runs faster.
-    @plugin development guide *)
+*)
 
 val add_global: Emitter.t -> global_annotation -> unit
 (** Add a new global annotation into the program. *)
diff --git a/src/kernel_services/ast_data/cil_types.mli b/src/kernel_services/ast_data/cil_types.mli
index 5e3bd30bf63a7d4ea8fe48c20011d4c9c2616778..8964d35f9f3c9fdcda49281a24ee38ebd19f0c31 100644
--- a/src/kernel_services/ast_data/cil_types.mli
+++ b/src/kernel_services/ast_data/cil_types.mli
@@ -143,7 +143,9 @@ and global =
       entire program. Cannot have storage Extern or function type. *)
 
   | GFun of fundec * location
-  (** A function definition. *)
+  (** A function definition.
+      @plugin development guide
+  *)
 
   | GAsm of string * location
   (** Global asm statement. These ones can contain only a template *)
@@ -1527,7 +1529,7 @@ and relation =
   | Rle
   | Rge
   | Req
-  | Rneq (** @plugin development guide *)
+  | Rneq (** Different @plugin development guide *)
 
 
 (** predicates *)
@@ -1683,6 +1685,7 @@ and ext_category =
   | Ext_global
   | Ext_code_annot of ext_code_annot_context
 
+(** @plugin development guide *)
 and ext_code_annot_context =
   | Ext_here (** at current program point. *)
   | Ext_next_stmt (** covers next statement. *)
@@ -1691,6 +1694,8 @@ and ext_code_annot_context =
 
 (** Behavior of a function or statement. This type shares the name of its
     constructors with {!Logic_ptree.behavior}.
+
+    @plugin development guide
 *)
 and behavior = {
   mutable b_name : string; (** name of the behavior. *)
@@ -1701,8 +1706,7 @@ and behavior = {
   mutable b_assigns : assigns; (** assignments. *)
   mutable b_allocation : allocation; (** frees, allocates. *)
   mutable b_extended : acsl_extension list
-  (** extensions
-      @plugin development guide *)
+  (** extensions  *)
 }
 
 (** kind of termination a post-condition applies to. See ACSL manual. *)
@@ -1766,7 +1770,10 @@ and code_annotation_node =
   | AExtended of string list * bool * acsl_extension
   (** extension in a code or loop annotation.
       Boolean flag is true for loop extensions and false for code extensions
-      @since Silicon-20161101 *)
+      @since Silicon-20161101
+
+      @plugin development guide
+  *)
 
 (** function contract. *)
 
@@ -1804,7 +1811,9 @@ and global_annotation =
   (** Model field for a type t, seen as a logic function with one
       argument of type t *)
   | Dextended of acsl_extension * attributes * location
-  (** Extended global clause. *)
+  (** Extended global clause.
+      @plugin development guide
+  *)
 
 type kinstr =
   | Kstmt of stmt
diff --git a/src/kernel_services/ast_queries/cil_datatype.mli b/src/kernel_services/ast_queries/cil_datatype.mli
index 08df42ea3ba4c412ea73d224d7f01fcc7f5c329f..9b37f9017f7c12fd90bf9fb31dae9bbbdfbaa1e5 100644
--- a/src/kernel_services/ast_queries/cil_datatype.mli
+++ b/src/kernel_services/ast_queries/cil_datatype.mli
@@ -218,6 +218,8 @@ module OffsetStructEq: S_with_collections with type t = offset
 module OffsetStructEqStrict: S_with_collections with type t = offset
 
 module Stmt_Id:  Hptmap.Id_Datatype with type t = stmt
+
+(** @plugin development guide *)
 module Stmt: sig
   include S_with_collections_pretty with type t = stmt
   module Hptset: sig
@@ -296,7 +298,9 @@ module Funbehavior: S_with_pretty with type t = funbehavior
 
 module Funspec: S_with_pretty with type t = funspec
 
-(** @since Fluorine-20130401 *)
+(** @since Fluorine-20130401
+    @plugin development guide
+*)
 module Fundec: S_with_collections_pretty with type t = fundec
 
 module Global_annotation: sig
diff --git a/src/kernel_services/ast_queries/logic_typing.mli b/src/kernel_services/ast_queries/logic_typing.mli
index 4eebe17c00c05b56947bb482285c5da60d2a8c35..ed6332ae3be24476939b6755313235ee1ee6f3a8 100644
--- a/src/kernel_services/ast_queries/logic_typing.mli
+++ b/src/kernel_services/ast_queries/logic_typing.mli
@@ -80,13 +80,16 @@ module Lenv : sig
 
 end
 
-type type_namespace = Typedef | Struct | Union | Enum
 (** The different namespaces a C type can belong to, used when we are searching
     a type by its name. *)
+type type_namespace = Typedef | Struct | Union | Enum
 
 module Type_namespace: Datatype.S with type t = type_namespace
 
-(** Functions that can be called when type-checking an extension of ACSL. *)
+(** Functions that can be called when type-checking an extension of ACSL.
+
+    @plugin development guide
+*)
 type typing_context = {
   is_loop: unit -> bool;
   anonCompFieldName : string;
@@ -124,8 +127,6 @@ type typing_context = {
       [typing_context], which allows for open recursion. Namely, it is
       possible for the extension to change the type-checking functions for
       the sub-nodes of the parsed tree, and not only for the toplevel [lexpr].
-
-      @plugin development guide
   *)
   type_term:
     typing_context -> Lenv.t -> Logic_ptree.lexpr -> term;
diff --git a/src/kernel_services/ast_queries/logic_utils.mli b/src/kernel_services/ast_queries/logic_utils.mli
index 307d889ee9baf44ceba4c59e987148605fc3c068..47640ad176d0f60eb76f190d1882b3c2514399ed 100644
--- a/src/kernel_services/ast_queries/logic_utils.mli
+++ b/src/kernel_services/ast_queries/logic_utils.mli
@@ -168,6 +168,7 @@ val expr_to_term : ?coerce:bool -> exp -> term
     [expr_to_predicate] instead.
 
     @before 21.0-Scandium was unsound in many cases.
+    @plugin development guide
 *)
 
 val expr_to_predicate: exp -> predicate
diff --git a/src/kernel_services/cmdline_parameters/typed_parameter.mli b/src/kernel_services/cmdline_parameters/typed_parameter.mli
index 55534d228298066cd472566b8a1e307be19bc511..605be08c5c4c771cd6080bdaccae7e7971931b95 100644
--- a/src/kernel_services/cmdline_parameters/typed_parameter.mli
+++ b/src/kernel_services/cmdline_parameters/typed_parameter.mli
@@ -23,8 +23,11 @@
 (** Parameter settable through a command line option.
     This is a low level API, internally used by the kernel. As a plug-in
     developer, you certainly prefer to use the API of {!Plugin} instead.
-    @since Nitrogen-20111001 *)
+    @since Nitrogen-20111001
+    @plugin development guide
+*)
 
+(** generic accessor type *)
 type ('a, 'b) gen_accessor =
   { get: unit -> 'a;
     set: 'a -> unit;
diff --git a/src/kernel_services/plugin_entry_points/log.mli b/src/kernel_services/plugin_entry_points/log.mli
index a44b6b4ae22032c9aedd987c3bf90d05d71c1e68..c69aee458996254efa3f61462857a26ceea731f6 100644
--- a/src/kernel_services/plugin_entry_points/log.mli
+++ b/src/kernel_services/plugin_entry_points/log.mli
@@ -134,6 +134,7 @@ module type Messages = sig
   type warn_category
   (** Same as above, but for warnings
       @since Chlorine-20180501
+      @plugin development guide
   *)
 
   val verbose_atleast : int -> bool
@@ -263,7 +264,9 @@ module type Messages = sig
       In case the [wkey] is considered as a [Failure], the continution is not called.
       This kind of message denotes a fatal error aborting Frama-C.
       Notice that the [~emitwith] action is called iff a message is logged.
-      @since 18.0-Argon *)
+      @since 18.0-Argon
+      @plugin development guide
+  *)
 
   val register : kind -> (event -> unit) -> unit
   (** Local registry for listeners. *)
@@ -327,6 +330,7 @@ module type Messages = sig
   *)
 
   val register_warn_category: string -> warn_category
+  (** @plugin development guide *)
 
   val is_warn_category: string -> bool
 
@@ -346,6 +350,7 @@ module type Messages = sig
   val get_all_warn_categories_status: unit -> (warn_category * warn_status) list
 
   val set_warn_status: warn_category -> warn_status -> unit
+  (** @plugin development guide *)
 
   val get_warn_status: warn_category -> warn_status
 
diff --git a/src/kernel_services/plugin_entry_points/plugin.mli b/src/kernel_services/plugin_entry_points/plugin.mli
index 0851fea085914da838db93143510ee60324ed74b..519e496481632cec9455cabbfebe582f8641e96d 100644
--- a/src/kernel_services/plugin_entry_points/plugin.mli
+++ b/src/kernel_services/plugin_entry_points/plugin.mli
@@ -20,12 +20,14 @@
 (*                                                                        *)
 (**************************************************************************)
 
+(** Plugin registration and general services.
+    @plugin development guide
+*)
 
 (** Special signature for Kernel services, whose messages are handled in
     an ad'hoc manner. Should not be of any use for a standard plug-in,
     who would rather rely on {!Plugin.S} below.
     @since Chlorine-20180501
-    @plugin development guide
 *)
 module type S_no_log = sig
 
@@ -74,7 +76,7 @@ end
 
 (** Provided plug-general services for plug-ins.
     @since Beryllium-20090601-beta1
-    @plugin development guide *)
+*)
 module type S = sig
   include Log.Messages
   include S_no_log
diff --git a/src/kernel_services/visitors/visitor_behavior.mli b/src/kernel_services/visitors/visitor_behavior.mli
index 9e4adf0201f6d0745700fd4f6e2890144bea0bbe..273fb6189e542df940daf6eee1960a27da530225 100644
--- a/src/kernel_services/visitors/visitor_behavior.mli
+++ b/src/kernel_services/visitors/visitor_behavior.mli
@@ -50,7 +50,7 @@ val copy: Project.t -> t
 
 val refresh: Project.t -> t
 (** Makes fresh copies of the mutable structures and provides fresh id
-    for the structures that have ids. Note that as for {!copy_visit}, only
+    for the structures that have ids. Note that as for {!copy}, only
     varinfo that are declared in the scope of the visit will be copied and
     provided with a new id.
 *)
@@ -99,12 +99,16 @@ module type Get = sig
   val enumitem: t -> enumitem -> enumitem
   val typeinfo: t -> typeinfo -> typeinfo
   val stmt: t -> stmt -> stmt
+  (** @plugin development guide *)
+
   val logic_info: t -> logic_info -> logic_info
   val logic_type_info: t -> logic_type_info -> logic_type_info
   val fieldinfo: t -> fieldinfo -> fieldinfo
   val model_info: t -> model_info -> model_info
   val logic_var: t -> logic_var -> logic_var
   val kernel_function: t -> kernel_function -> kernel_function
+  (** @plugin development guide *)
+
   val fundec: t -> fundec -> fundec
 end
 
@@ -187,6 +191,7 @@ module Set: Set
     {!Cil_types.varinfo}: [Set_orig.varinfo vis vi new_original_repr].
 
     @since 20.0-Calcium
+    @plugin development guide
 *)
 module Set_orig: Set
 
diff --git a/src/libraries/datatype/datatype.mli b/src/libraries/datatype/datatype.mli
index 50a1588d6d588434f49419d9ed3c414d71d9253c..e018aa74480eae27b98deb9846b3583923beb834 100644
--- a/src/libraries/datatype/datatype.mli
+++ b/src/libraries/datatype/datatype.mli
@@ -45,7 +45,10 @@ type 'a t = private
 (** A type with its type value. *)
 module type Ty = sig
   type t
+  (** @plugin development guide *)
+
   val ty: t Type.t
+  (** @plugin development guide *)
 end
 
 (** All values associated to a datatype, excepted [copy].
@@ -69,7 +72,9 @@ module type S_no_copy = sig
   (** List of representants of the descriptor. *)
 
   val equal: t -> t -> bool
-  (** Equality: same spec than [Stdlib.(=)]. *)
+  (** Equality: same spec than [Stdlib.(=)].
+      @plugin development guide
+  *)
 
   val compare: t -> t -> int
   (** Comparison: same spec than [Stdlib.compare]. *)
@@ -78,7 +83,9 @@ module type S_no_copy = sig
   (** Hash function: same spec than [Hashtbl.hash]. *)
 
   val pretty: Format.formatter -> t -> unit
-  (** Pretty print each value in an user-friendly way. *)
+  (** Pretty print each value in an user-friendly way.
+      @plugin development guide
+  *)
 
   val mem_project: (Project_skeleton.t -> bool) -> t -> bool
   (** [mem_project f x] must return [true] iff there is a value [p] of type
@@ -261,12 +268,18 @@ module type Hashtbl = sig
 end
 
 (** A datatype for a type [t] extended with predefined set, map and hashtbl
-    over [t]. *)
+    over [t].
+
+    @plugin development guide
+*)
 module type S_with_collections = sig
   include S
   module Set: Set with type elt = t
+  (** @plugin development guide *)
+
   module Map: Map with type key = t
   module Hashtbl: Hashtbl with type key = t
+  (** @plugin development guide *)
 end
 
 (** Generic comparable datatype builder: functions [equal], [compare] and
diff --git a/src/libraries/datatype/type.mli b/src/libraries/datatype/type.mli
index cf324f26944eb0cf20340eb7424cbb243dcd2a0f..256d9de8edabbdd3ef9dd07eb3a7371b906e7269 100644
--- a/src/libraries/datatype/type.mli
+++ b/src/libraries/datatype/type.mli
@@ -45,8 +45,8 @@ type 'a ty = 'a t
 (** Precedences used for generating the minimal number of parenthesis in
     combination with function {!par} below. *)
 type precedence =
-  | Basic (** @plugin development guide *)
-  | Call (** @plugin development guide *)
+  | Basic (** Normal precedence @plugin development guide *)
+  | Call (** Instantiation of polymorphic type @plugin development guide *)
   | Tuple
   | List
   | NoPar
diff --git a/src/libraries/project/project.mli b/src/libraries/project/project.mli
index fd9f1db82879143f6a5c4e248924fe4124cff279..d8e02413dbc01689c78934278d12e5d35c9728de 100644
--- a/src/libraries/project/project.mli
+++ b/src/libraries/project/project.mli
@@ -200,6 +200,7 @@ val register_before_remove_hook: (t -> unit) -> unit
 (* ************************************************************************* *)
 
 exception IOError of string
+(** @plugin development guide *)
 
 val save: ?selection:State_selection.t -> ?project:t -> Filepath.Normalized.t -> unit
 (** Save a given project in a file. Default project is [current ()].
diff --git a/src/libraries/stdlib/FCHashtbl.mli b/src/libraries/stdlib/FCHashtbl.mli
index c890d905578e8a781730d37383b94b8b87718a1f..3fe0a74217bc8add3a933a5226ae458c6907c6a9 100644
--- a/src/libraries/stdlib/FCHashtbl.mli
+++ b/src/libraries/stdlib/FCHashtbl.mli
@@ -20,7 +20,10 @@
 (*                                                                        *)
 (**************************************************************************)
 
-(** Extension of OCaml's [Hashtbl] module. *)
+(** Extension of OCaml's [Hashtbl] module.
+
+    @plugin development guide
+*)
 
 (* No need to expand OCaml's [Hashtbl.S] here: we do not provide an alternative
    implementation of [Hashtbl]. Hence, we will always be compatible with the
diff --git a/src/libraries/stdlib/extlib.mli b/src/libraries/stdlib/extlib.mli
index d736864c0c471948fc67fd8160f565624b8ccdd7..c91c01672b6bb2521fec119a1e637b20f65abf20 100644
--- a/src/libraries/stdlib/extlib.mli
+++ b/src/libraries/stdlib/extlib.mli
@@ -209,7 +209,7 @@ val the: exn:exn -> 'a option -> 'a
     @raise Invalid_argument if the value is [None] and [exn] is not specified.
     @return v if the value is [Some v].
     @before 23.0-Vanadium [exn] was an optional argument.
-    @plugin development guide *)
+*)
 
 val opt_hash: ('a -> int) -> 'a option -> int
 (** @since Sodium-20150201 *)
diff --git a/src/plugins/e-acsl/E_ACSL.mli b/src/plugins/e-acsl/E_ACSL.mli
index d6d9aa9833290d36583e44637995e398d2fbe80e..882509a85b3d52c054ba6ed3199c6e1ef016307a 100644
--- a/src/plugins/e-acsl/E_ACSL.mli
+++ b/src/plugins/e-acsl/E_ACSL.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/Makefile.in b/src/plugins/e-acsl/Makefile.in
index 9cab3d4490a7dbbf97193f3e49832bd7b3991e79..8bfa6aa9f51ab92b34b9ca2abd70cc564130bc97 100644
--- a/src/plugins/e-acsl/Makefile.in
+++ b/src/plugins/e-acsl/Makefile.in
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of the Frama-C's E-ACSL plug-in.                    #
 #                                                                        #
-#  Copyright (C) 2012-2021                                               #
+#  Copyright (C) 2012-2022                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/e-acsl/configure.ac b/src/plugins/e-acsl/configure.ac
index a061b4b3e9530d9a142ca4f9b9e1a8fba34bd0b1..24bceba8839c8bf604345cfbcb394d803b016496 100644
--- a/src/plugins/e-acsl/configure.ac
+++ b/src/plugins/e-acsl/configure.ac
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of the Frama-C's E-ACSL plug-in.                    #
 #                                                                        #
-#  Copyright (C) 2012-2021                                               #
+#  Copyright (C) 2012-2022                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/e-acsl/headers/close-source/CEA_LGPL_OR_PROPRIETARY.E_ACSL b/src/plugins/e-acsl/headers/close-source/CEA_LGPL_OR_PROPRIETARY.E_ACSL
index 5ac5606a79d128ce336064ca87338c2b1691d948..4871c0697590002454fb0af05675a14abed87fb4 100644
--- a/src/plugins/e-acsl/headers/close-source/CEA_LGPL_OR_PROPRIETARY.E_ACSL
+++ b/src/plugins/e-acsl/headers/close-source/CEA_LGPL_OR_PROPRIETARY.E_ACSL
@@ -1,7 +1,7 @@
 
 This file is part of the Frama-C's E-ACSL plug-in.
 
-Copyright (C) 2012-2021
+Copyright (C) 2012-2022
   CEA (Commissariat à l'énergie atomique et aux énergies
        alternatives)
 
diff --git a/src/plugins/e-acsl/headers/open-source/CEA_LGPL_OR_PROPRIETARY.E_ACSL b/src/plugins/e-acsl/headers/open-source/CEA_LGPL_OR_PROPRIETARY.E_ACSL
index 927533bb92a0b264b158d5af1fd6b071f87124a8..f73ee83ccb2218c34420da2c9ddec9ce35e8d735 100644
--- a/src/plugins/e-acsl/headers/open-source/CEA_LGPL_OR_PROPRIETARY.E_ACSL
+++ b/src/plugins/e-acsl/headers/open-source/CEA_LGPL_OR_PROPRIETARY.E_ACSL
@@ -1,7 +1,7 @@
 
 This file is part of the Frama-C's E-ACSL plug-in.
 
-Copyright (C) 2012-2021
+Copyright (C) 2012-2022
   CEA (Commissariat à l'énergie atomique et aux énergies
        alternatives)
 
diff --git a/src/plugins/e-acsl/man/e-acsl-gcc.sh.1 b/src/plugins/e-acsl/man/e-acsl-gcc.sh.1
index c8b71244e57cb02603ea5cc5931f7acfbb4e6d91..40f17ce2d200d200be5b7dff338b12d3c72280e5 100644
--- a/src/plugins/e-acsl/man/e-acsl-gcc.sh.1
+++ b/src/plugins/e-acsl/man/e-acsl-gcc.sh.1
@@ -2,7 +2,7 @@
 .\"                                                                        
 .\"  This file is part of the Frama-C's E-ACSL plug-in.                    
 .\"                                                                        
-.\"  Copyright (C) 2012-2021                                               
+.\"  Copyright (C) 2012-2022                                               
 .\"    CEA (Commissariat à l'énergie atomique et aux énergies              
 .\"         alternatives)                                                  
 .\"                                                                        
diff --git a/src/plugins/e-acsl/scripts/e-acsl-gcc.sh b/src/plugins/e-acsl/scripts/e-acsl-gcc.sh
index 39a7f3f6079bdd29da4c1d81399742ddb7891029..57b92420541ec6f345e668b2c1d37297142208e6 100755
--- a/src/plugins/e-acsl/scripts/e-acsl-gcc.sh
+++ b/src/plugins/e-acsl/scripts/e-acsl-gcc.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of the Frama-C's E-ACSL plug-in.                    #
 #                                                                        #
-#  Copyright (C) 2012-2021                                               #
+#  Copyright (C) 2012-2022                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/e-acsl/scripts/e-acsl-gcc.sh.comp b/src/plugins/e-acsl/scripts/e-acsl-gcc.sh.comp
index face0dc29f108a243a102746c5cee249d4d5c4a2..95d9551540daf9007bbcd80f3ab8462d0eee0ca5 100644
--- a/src/plugins/e-acsl/scripts/e-acsl-gcc.sh.comp
+++ b/src/plugins/e-acsl/scripts/e-acsl-gcc.sh.comp
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of the Frama-C's E-ACSL plug-in.                    #
 #                                                                        #
-#  Copyright (C) 2012-2021                                               #
+#  Copyright (C) 2012-2022                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/e-acsl/share/e-acsl/e_acsl.h b/src/plugins/e-acsl/share/e-acsl/e_acsl.h
index 3268406ec60ae4fd2aab57c995f34bb4f7d612c2..ca8fa7c6c5721f087ff40db892ccfbd3d411b44b 100644
--- a/src/plugins/e-acsl/share/e-acsl/e_acsl.h
+++ b/src/plugins/e-acsl/share/e-acsl/e_acsl.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/e_acsl_rtl.c b/src/plugins/e-acsl/share/e-acsl/e_acsl_rtl.c
index 1420b682afab6e797934335ff2b188b08cf0ff28..a812a227b5a6ae34d34e51c902419760446a8220 100644
--- a/src/plugins/e-acsl/share/e-acsl/e_acsl_rtl.c
+++ b/src/plugins/e-acsl/share/e-acsl/e_acsl_rtl.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert.c b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert.c
index 494e869d14c900dbad98a96c5c0f808f408113e0..d407cae2137f94e32db72af3c87e820b3ac5d324 100644
--- a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert.c
+++ b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert.h b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert.h
index b211cb53edeb5f80232cac97aa0569b4b5776a4f..d33b76e294a48ed9de9f00233bc0b0fd80e3bdd3 100644
--- a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert.h
+++ b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert_data.h b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert_data.h
index aa94970d5ceaccc64dceb6cb373404835d9310e8..538451f3bb7f1a078bd32c98e639a350b12c97be 100644
--- a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert_data.h
+++ b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert_data.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert_data_api.c b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert_data_api.c
index 0e258dd7f1d9ec3435db10ec14596ae9c6464e4b..e8d5c316029f7104030069595afaec4010834d3c 100644
--- a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert_data_api.c
+++ b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert_data_api.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert_data_api.h b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert_data_api.h
index dcc87a6cc14555d0155a4188324e3f31e3a1bd42..770b0be362187384ec94094ec8b7c6fc22368221 100644
--- a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert_data_api.h
+++ b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_assert_data_api.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_contract.c b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_contract.c
index ac5398a8b9ffa022888141986a0131ceaec93531..30f2f58afd5ef3698c5b3eb5dbb4e30c6778d516 100644
--- a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_contract.c
+++ b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_contract.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_contract.h b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_contract.h
index ff744033dba793e7f964ca7460f8aa5cf95ee038..b84ff92ce36b7c1179ef701fb07debb65910593f 100644
--- a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_contract.h
+++ b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_contract.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_temporal.c b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_temporal.c
index 65c86d9221fbe71c1d27b9a28e4fe83757db2150..e19a8453588976dfb06795505ba1efd495128ab6 100644
--- a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_temporal.c
+++ b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_temporal.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_temporal.h b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_temporal.h
index ec3819faffe82a1892b43ccbec3e4ce3db5e7aaa..dcd103cd7077603d274ebde6ce7ebfc08bf52248 100644
--- a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_temporal.h
+++ b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_temporal.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_temporal_timestamp.h b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_temporal_timestamp.h
index b0c1842e45722e1d58fdd540260d9667732e00ee..98c2b4c41d3418a25e774e8f3a2c52ee62e1b8ec 100644
--- a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_temporal_timestamp.h
+++ b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_temporal_timestamp.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_alias.h b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_alias.h
index 862637b6c05652771820374a5683f4336b594a78..3555101f27387246f0ea54deda889234116c8538 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_alias.h
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_alias.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_bits.c b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_bits.c
index 551f4df68da77107cd71e6cfd03c955d447d7da7..fc62f94d2ae0641dae37b417a84343b7339094a5 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_bits.c
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_bits.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_bits.h b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_bits.h
index a62296665f46fb2b4df4eb9ffb03a2ca14d595d5..4d919892a30a229e537a9338b0bb8ba098ff1ea7 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_bits.h
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_bits.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_concurrency.h b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_concurrency.h
index 4961dd4466d715e5b50fd8c8ddbb843d56773d44..e462a752d083a66e6e0d571a66c4b996104787c9 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_concurrency.h
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_concurrency.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_config.h b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_config.h
index 08d9f62ece4a40aef87c928727dded03ffa0db3b..089ed631d4a12e7df4b605dc5d4b184307001697 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_config.h
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_config.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_debug.c b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_debug.c
index 15ce0534410b77b8e6d1243729782df88712682c..1398902ece315f7df7b093058d9b59fb929f5bb3 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_debug.c
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_debug.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_debug.h b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_debug.h
index 38d95dac2d2e48e29dd613d9f2b98a3af60a9dae..496bc7f87e78372fb6deb39318bc2b5e4a022158 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_debug.h
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_debug.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_malloc.c b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_malloc.c
index b2d2c5fbd2c80412164ffacfd7a4ca3bc839ed05..5184161e13f472d31d49825f25c9e516c91c4c77 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_malloc.c
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_malloc.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_malloc.h b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_malloc.h
index 57505489d1d105bbf665dce92e122160f7d2b964..7288fc0d4cfaf393ecd14769b1f3ab5ee09fa22b 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_malloc.h
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_malloc.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_private_assert.c b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_private_assert.c
index b4ca88e1fe53d47bd84ed749d302dbd60d13e144..dedfd294867bec2577eb70bb53128972991912d0 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_private_assert.c
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_private_assert.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_private_assert.h b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_private_assert.h
index a07cd94ffdd14cef17e7eb8c5a32c10750e4379f..8784a1a25d0159f58387287627d7597988bec4c0 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_private_assert.h
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_private_assert.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_error.c b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_error.c
index a0fb18fc2c3dce5cc1fc37aec7e42f4584ce0d33..e36344ae9c53299ed404420fc24cb390be552b59 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_error.c
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_error.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_error.h b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_error.h
index 5d76e692216adecea34b4beac4485b502e615c07..162146e6c0d4a3586c3aecacfd02fb2a108c5ecb 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_error.h
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_error.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_string.c b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_string.c
index 52ab27fe17c760632056c222be4952b0ecb837c4..823b49aeb2c1151aa000cf036842d7ec06d7b586 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_string.c
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_string.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_string.h b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_string.h
index 0f1e6f5c5ddcb955187ac6b3d274f1be2bc1e3e7..da35bb83d9cf3c69211153a6ab8ba188545a2ef7 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_string.h
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_rtl_string.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_shexec.c b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_shexec.c
index fcf75f90ebb572d308f1c5c63d6ef18a3b9a346b..e67e3630859194b121e9040babf54cf0a252ddfe 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_shexec.c
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_shexec.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_shexec.h b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_shexec.h
index 41ee07d4b6c22d000b0046377dfc29678f737b45..bbe6fc38f5a0e08b4548d70795034a727969fc31 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_shexec.h
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_shexec.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_trace.c b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_trace.c
index 631322b98267a0362a4f8eda700fdf3dd27e3450..7cc59dd131c6d03224f23ad16923e71fb6c23d8c 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_trace.c
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_trace.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_trace.h b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_trace.h
index 251be37d2eb015fb86cf7d84a1e439a9573f591c..9d543c2de7f37935f7b548ce3ec68cc4fcf3adc3 100644
--- a/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_trace.h
+++ b/src/plugins/e-acsl/share/e-acsl/internals/e_acsl_trace.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_stdio.c b/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_stdio.c
index a51d11dd8099891088417757ccbd5b690da77cca..7bd9a9ea3ce9f068aefc2e025542969fd580fec5 100644
--- a/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_stdio.c
+++ b/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_stdio.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_stdio.h b/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_stdio.h
index 17985fb9551b6d19469590758b0d511a9e4f7061..9f6f0bc304667d9d857a7f40e14ee3b359a7d61e 100644
--- a/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_stdio.h
+++ b/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_stdio.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_string.c b/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_string.c
index c2d07a7a2d9499ce4c39e88942530527a2e75a42..a57616baaba48213686b250779a90cae8ec32822 100644
--- a/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_string.c
+++ b/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_string.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_string.h b/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_string.h
index 6f1abc90ed4cfc2ee11541bcc3fa827018dea8b9..2a9e5a788fbd6af84f717d7248d556e953c48894 100644
--- a/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_string.h
+++ b/src/plugins/e-acsl/share/e-acsl/libc_replacements/e_acsl_string.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/numerical_model/e_acsl_floating_point.c b/src/plugins/e-acsl/share/e-acsl/numerical_model/e_acsl_floating_point.c
index 4c1738332fcd47eb4c5c447a4e12c2ba052daa00..e9624194beb4e6f99c6449d857a3b06723158eaf 100644
--- a/src/plugins/e-acsl/share/e-acsl/numerical_model/e_acsl_floating_point.c
+++ b/src/plugins/e-acsl/share/e-acsl/numerical_model/e_acsl_floating_point.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/numerical_model/e_acsl_floating_point.h b/src/plugins/e-acsl/share/e-acsl/numerical_model/e_acsl_floating_point.h
index 9e01b9fd9d1dbf21b7aa8dbbe6b92beecf2623ea..8b5596bfc8f694063558a050fb7fecb0f423886d 100644
--- a/src/plugins/e-acsl/share/e-acsl/numerical_model/e_acsl_floating_point.h
+++ b/src/plugins/e-acsl/share/e-acsl/numerical_model/e_acsl_floating_point.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/numerical_model/e_acsl_gmp_api.h b/src/plugins/e-acsl/share/e-acsl/numerical_model/e_acsl_gmp_api.h
index b2a8547e204b58e0d526331c816c3c64013e6295..48378f8a22f1b09f198162f66ef5986810a8dc05 100644
--- a/src/plugins/e-acsl/share/e-acsl/numerical_model/e_acsl_gmp_api.h
+++ b/src/plugins/e-acsl/share/e-acsl/numerical_model/e_acsl_gmp_api.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree.c b/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree.c
index 21495817006d41613d4629a6ec55bcc53409c3ce..34a1b3fa0ffde0a32ba761d4507258cee64a4286 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree.h b/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree.h
index 710226ace6248a898039b34a7dd9d8556524e616..5d5f8a89875e3aa81364db6ccc67eab8bb1759b4 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree.h
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree_observation_model.c b/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree_observation_model.c
index 4a68035f8c2dcabe21588acda40da18af398b203..c7490ed2eaad208d9069a4c535f151604671fab8 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree_observation_model.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree_observation_model.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree_omodel_debug.c b/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree_omodel_debug.c
index ae3b17ba772b41a3d7f0268744727d17c22f52f0..fa417730457847fd91a330c11e4b8cb8148fc406 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree_omodel_debug.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree_omodel_debug.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree_timestamp_retrieval.c b/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree_timestamp_retrieval.c
index 12a252d074056d2f70e9e0599582c201c33ea9fc..b055945521520dc811b9230afbc366f58e291472 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree_timestamp_retrieval.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/bittree_model/e_acsl_bittree_timestamp_retrieval.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_heap.c b/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_heap.c
index cb4fb4f471458645b40b6cc8ff55f0455eb4630a..83287fab285af6c4d27b9663694d064b038d9685 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_heap.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_heap.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_heap.h b/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_heap.h
index a1d787d542914ff6524d2397f964b67b036689c9..59025aeeb8f1cab260c6ff64cc634d460d8bceb1 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_heap.h
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_heap.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_observation_model.c b/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_observation_model.c
index 88c7501c2c04597650779e3fae9500678f9d4db4..72be9f9c89fb182985a90502e053465a2925ce8a 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_observation_model.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_observation_model.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_observation_model.h b/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_observation_model.h
index c465c3b09d98cc8c45ac5a0f1e5fb301e17af6c0..63c4035e6a49225a0b15422294f4b42bdf744a3e 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_observation_model.h
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_observation_model.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_heap_tracking.c b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_heap_tracking.c
index cca4782b1ace89e1c51aa26200e184c62af957bc..abc336dc5acd42453de72a2d8ba8077dd06ec4d5 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_heap_tracking.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_heap_tracking.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_heap_tracking.h b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_heap_tracking.h
index b7d5d0d48569bbe52e51484e74cad4db0991ad90..cb781d8331f6ed50aecb9d0e68cb529c942891a7 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_heap_tracking.h
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_heap_tracking.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_omodel_debug.h b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_omodel_debug.h
index 8a0360fa13d6bc415ad8f577dbb0490889e5a8e9..0bea0de23460bd616139ae76c69a8ae49371a270 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_omodel_debug.h
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_omodel_debug.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_patricia_trie.c b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_patricia_trie.c
index 4872e5ce2bfbf0fcf5a8388f423367ca4b9ca043..b3b49963523eb34fa1c2d0efd1c226e3b39867ba 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_patricia_trie.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_patricia_trie.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_patricia_trie.h b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_patricia_trie.h
index 63a050271a909260468450edc05bc772a1ca433e..5164a751bb824adbea1ced058b2136da7c264e34 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_patricia_trie.h
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_patricia_trie.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_safe_locations.c b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_safe_locations.c
index 6e0d5403e95fe600ef421349c21dbfa62d829120..de070d195ab3c4b4dc40173781c523acabb4ce86 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_safe_locations.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_safe_locations.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_safe_locations.h b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_safe_locations.h
index f77a3ca4c0f7890abe4da678cd129552219cc315..60d585302a9f09e3ad4b2062924ebb95537a27bc 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_safe_locations.h
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_safe_locations.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_timestamp_retrieval.h b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_timestamp_retrieval.h
index 778d7afd7d729c7a0e209d89bc8ba34f20a1714b..5053ea8b4c61dfac52dde4a39b2ae425127ad990 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_timestamp_retrieval.h
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/internals/e_acsl_timestamp_retrieval.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_observation_model.c b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_observation_model.c
index c04006b9e98c9e6e8607d83afdc1f636cdc3a22a..e2549767dc777a22697d2ec036191fdf03800e62 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_observation_model.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_observation_model.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_omodel_debug.c b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_omodel_debug.c
index 72c185431409229b21b29415221141c457b973f5..86cc88f7a03710f2a687fa47f28ba7d63e1178c3 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_omodel_debug.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_omodel_debug.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_timestamp_retrieval.c b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_timestamp_retrieval.c
index b3d6b199eafa7d1d2481eda6f448998f49b7566b..88b74b7271c073becdcfaa0cf055830d2a7cce14 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_timestamp_retrieval.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_timestamp_retrieval.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_tracking.c b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_tracking.c
index 04472763c8e6f3bbf20aa6a556f07322fef3e077..608c3bf745430f67205aadd40206e6f869dace2a 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_tracking.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_tracking.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_tracking.h b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_tracking.h
index de93d8999bf64a8b9f78535b2f9819e13c9f10d7..7a442d0c80c178a38d0aad1de892bb6eef4c065a 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_tracking.h
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_tracking.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_concurrency.c b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_concurrency.c
index 3d92f1977f81bc31634a6c04888742941d62047f..7d1313c4f9c4a1c983aad54bcea26242edad2095 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_concurrency.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_concurrency.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_concurrency.h b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_concurrency.h
index 73debfe97a012dfd45e06091ea398b5e5b8b42f6..45be9aaa68ffd6e5826b882b1594b2aa4519dbcb 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_concurrency.h
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_concurrency.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_layout.c b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_layout.c
index 15870873f1afe6e642d76b62ec3760a7d881f700..51ff459c57b2c8fe139084cab6200c2113b72717 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_layout.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_layout.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_layout.h b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_layout.h
index 5a7bf7272c4637f4605e4266535b5b816b44c400..abeb6c7236a718a7cacab4e706ed8e75c36f620c 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_layout.h
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_shadow_layout.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of the Frama-C's E-ACSL plug-in.                    */
 /*                                                                        */
-/*  Copyright (C) 2012-2021                                               */
+/*  Copyright (C) 2012-2022                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/e-acsl/src/analyses/analyses.ml b/src/plugins/e-acsl/src/analyses/analyses.ml
index eeaa2dc9da43da2b12e3c869d07b65738c80e633..181ceceaf62a23ff199dcecfc03d2790e4b23374 100644
--- a/src/plugins/e-acsl/src/analyses/analyses.ml
+++ b/src/plugins/e-acsl/src/analyses/analyses.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/analyses.mli b/src/plugins/e-acsl/src/analyses/analyses.mli
index fe4859129ab9b0317a940d90dd21cbad9b160e81..5e92714a1995742ddd3f0f62601e106d07b7e3e4 100644
--- a/src/plugins/e-acsl/src/analyses/analyses.mli
+++ b/src/plugins/e-acsl/src/analyses/analyses.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/analyses_datatype.ml b/src/plugins/e-acsl/src/analyses/analyses_datatype.ml
index 7d518f77beeadbf5e13922fef48ee097164f6ec1..e405d452408ba13afe41a1a12c42089059605491 100644
--- a/src/plugins/e-acsl/src/analyses/analyses_datatype.ml
+++ b/src/plugins/e-acsl/src/analyses/analyses_datatype.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/analyses_datatype.mli b/src/plugins/e-acsl/src/analyses/analyses_datatype.mli
index 097cd6c01dff9a1362159430168823edee7e681d..7b19f984097738c2225a969ed1dc507f9b84ca35 100644
--- a/src/plugins/e-acsl/src/analyses/analyses_datatype.mli
+++ b/src/plugins/e-acsl/src/analyses/analyses_datatype.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/analyses_types.mli b/src/plugins/e-acsl/src/analyses/analyses_types.mli
index 54a1a7811033753afb1cd7445ffa76c68fb31ad7..06f9eddb5a09fb4cbe80497516bef543e1ee6cdc 100644
--- a/src/plugins/e-acsl/src/analyses/analyses_types.mli
+++ b/src/plugins/e-acsl/src/analyses/analyses_types.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/bound_variables.ml b/src/plugins/e-acsl/src/analyses/bound_variables.ml
index a6d9c51b5a27682162e9a05e6662b1ec3dd4ac3a..5199e4e66877841833130e726765a884a73618c8 100644
--- a/src/plugins/e-acsl/src/analyses/bound_variables.ml
+++ b/src/plugins/e-acsl/src/analyses/bound_variables.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/bound_variables.mli b/src/plugins/e-acsl/src/analyses/bound_variables.mli
index 233d77ef6d7843d59e48d5756a02c8bd9d7f7b22..7c1b9660128af0371f5f7c84bc2916fb8e96ab9f 100644
--- a/src/plugins/e-acsl/src/analyses/bound_variables.mli
+++ b/src/plugins/e-acsl/src/analyses/bound_variables.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/e_acsl_visitor.ml b/src/plugins/e-acsl/src/analyses/e_acsl_visitor.ml
index b5dd27c351e3c552616af1c16f8d0ae865d6e09e..6381e84a9b85ff8861db8d1a83070d946007e750 100644
--- a/src/plugins/e-acsl/src/analyses/e_acsl_visitor.ml
+++ b/src/plugins/e-acsl/src/analyses/e_acsl_visitor.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/e_acsl_visitor.mli b/src/plugins/e-acsl/src/analyses/e_acsl_visitor.mli
index 30e62a8eb27ba4f528a62d3f3bda1a8f13b0be5a..0338acc46d6e3b8ef7b4374ec96ab1263aa42a98 100644
--- a/src/plugins/e-acsl/src/analyses/e_acsl_visitor.mli
+++ b/src/plugins/e-acsl/src/analyses/e_acsl_visitor.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/exit_points.ml b/src/plugins/e-acsl/src/analyses/exit_points.ml
index 7ad18f7575ec73a6863573f34d3c9673b8833a9d..60cda2654cf1986aa1884088c14b3c1530c48cdc 100644
--- a/src/plugins/e-acsl/src/analyses/exit_points.ml
+++ b/src/plugins/e-acsl/src/analyses/exit_points.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/exit_points.mli b/src/plugins/e-acsl/src/analyses/exit_points.mli
index 67d642e09bda629da4c6a04981e40a0fd69c0cc7..8cf1b2a13a020cfae9f3f6616b575b3ac122c969 100644
--- a/src/plugins/e-acsl/src/analyses/exit_points.mli
+++ b/src/plugins/e-acsl/src/analyses/exit_points.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/interval.ml b/src/plugins/e-acsl/src/analyses/interval.ml
index 432fa1dd21f52a65bdc018ab89267bedbbdcb2b4..86bcf2fb9a0eeb50b2baca1349ac9b18d3739451 100644
--- a/src/plugins/e-acsl/src/analyses/interval.ml
+++ b/src/plugins/e-acsl/src/analyses/interval.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/interval.mli b/src/plugins/e-acsl/src/analyses/interval.mli
index 597a804c660e39b6f0515d1b5049c619cd200c36..ce2b899276fde8941cdc505c7f74f87d2d14c284 100644
--- a/src/plugins/e-acsl/src/analyses/interval.mli
+++ b/src/plugins/e-acsl/src/analyses/interval.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/labels.ml b/src/plugins/e-acsl/src/analyses/labels.ml
index ac331df4d8f01b835ca9c4b83847e9d090758caf..ab839f8f8f668fc5635566ce9b58859e3ee88caa 100644
--- a/src/plugins/e-acsl/src/analyses/labels.ml
+++ b/src/plugins/e-acsl/src/analyses/labels.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/labels.mli b/src/plugins/e-acsl/src/analyses/labels.mli
index a53f15aa67246ba3ba72fb7e2e75d47c0ef5499c..10cffc5a8eca8a58e8707e204f7419ad3a3f9b9f 100644
--- a/src/plugins/e-acsl/src/analyses/labels.mli
+++ b/src/plugins/e-acsl/src/analyses/labels.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/literal_strings.ml b/src/plugins/e-acsl/src/analyses/literal_strings.ml
index 1b8f2c40151e3403b400647fa90d781013a30960..c3117bd4907c0cadf81bb44946c2137ceb65ae7e 100644
--- a/src/plugins/e-acsl/src/analyses/literal_strings.ml
+++ b/src/plugins/e-acsl/src/analyses/literal_strings.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/literal_strings.mli b/src/plugins/e-acsl/src/analyses/literal_strings.mli
index 4de73d67d1f4c0f4db80ed20fdd548c833be37dc..7a9cf013bcaf3abdbe63fd110683793c2f0b263b 100644
--- a/src/plugins/e-acsl/src/analyses/literal_strings.mli
+++ b/src/plugins/e-acsl/src/analyses/literal_strings.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/logic_normalizer.ml b/src/plugins/e-acsl/src/analyses/logic_normalizer.ml
index e804f513e96e26f8a302fc25488d3af68250b3fb..7d4922a47626e3532ff7556a399060181abefda7 100644
--- a/src/plugins/e-acsl/src/analyses/logic_normalizer.ml
+++ b/src/plugins/e-acsl/src/analyses/logic_normalizer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/logic_normalizer.mli b/src/plugins/e-acsl/src/analyses/logic_normalizer.mli
index ed2aa084552166b458774a72c56ae361c9a57ef8..b1172c4f48f5d56c15548267581001dbe04e69f6 100644
--- a/src/plugins/e-acsl/src/analyses/logic_normalizer.mli
+++ b/src/plugins/e-acsl/src/analyses/logic_normalizer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/lscope.ml b/src/plugins/e-acsl/src/analyses/lscope.ml
index 331cb1c4ca5fcdb9877faa9deddeba3b61d1c470..7b7f6b264b33500f6ac64f0b820edb2deb0d2782 100644
--- a/src/plugins/e-acsl/src/analyses/lscope.ml
+++ b/src/plugins/e-acsl/src/analyses/lscope.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/lscope.mli b/src/plugins/e-acsl/src/analyses/lscope.mli
index a3f357a22ee5a8d28e4b9eee5e8c0e1990c6992b..504359c509f826ac1a3e2a7541674d3e9c57c018 100644
--- a/src/plugins/e-acsl/src/analyses/lscope.mli
+++ b/src/plugins/e-acsl/src/analyses/lscope.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/memory_tracking.ml b/src/plugins/e-acsl/src/analyses/memory_tracking.ml
index 6237f181b579e3b38f5488aff9f9ab2e8b3911c1..9567ecc3fe2f94115cbe8823e771c2aacc03a7bb 100644
--- a/src/plugins/e-acsl/src/analyses/memory_tracking.ml
+++ b/src/plugins/e-acsl/src/analyses/memory_tracking.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/memory_tracking.mli b/src/plugins/e-acsl/src/analyses/memory_tracking.mli
index 4a90e24f50be985bf9297ab59833a57748e989df..7a25c27b6fde61e9dfa37ab923c170e3778573c4 100644
--- a/src/plugins/e-acsl/src/analyses/memory_tracking.mli
+++ b/src/plugins/e-acsl/src/analyses/memory_tracking.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/rte.ml b/src/plugins/e-acsl/src/analyses/rte.ml
index 9423934d182ab3a43eab1276d36956bc36a3b407..f542d1fee0f3b61efdb847350a3b0cbed9d89db5 100644
--- a/src/plugins/e-acsl/src/analyses/rte.ml
+++ b/src/plugins/e-acsl/src/analyses/rte.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/rte.mli b/src/plugins/e-acsl/src/analyses/rte.mli
index 2d38b61cd01c27b55a288544ec7b545fffd2ecbf..f4697989d10357fe1a6b3f994e835612c549e232 100644
--- a/src/plugins/e-acsl/src/analyses/rte.mli
+++ b/src/plugins/e-acsl/src/analyses/rte.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/typing.ml b/src/plugins/e-acsl/src/analyses/typing.ml
index b3cb3df086f64f59ce1cbbb51239726f9069ac88..d4022ccc0b1b038eddc2b4324531bbb5bda60532 100644
--- a/src/plugins/e-acsl/src/analyses/typing.ml
+++ b/src/plugins/e-acsl/src/analyses/typing.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/analyses/typing.mli b/src/plugins/e-acsl/src/analyses/typing.mli
index c65f3cc8dcb357ab351b70b97d5b8f0bd2ea2f6f..a54fadfc9bf016997a15aa4ea2f502a4cb4d4f6f 100644
--- a/src/plugins/e-acsl/src/analyses/typing.mli
+++ b/src/plugins/e-acsl/src/analyses/typing.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/assert.ml b/src/plugins/e-acsl/src/code_generator/assert.ml
index d44043c3078d95f556e94a86bb303b69fca6fe6a..f585a3caf6ac30e07443d8c51b6c798551501762 100644
--- a/src/plugins/e-acsl/src/code_generator/assert.ml
+++ b/src/plugins/e-acsl/src/code_generator/assert.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/assert.mli b/src/plugins/e-acsl/src/code_generator/assert.mli
index e0eeda7767ad08ffdbe7dd5b8a9f0ba0843295c5..2861f3d3d821c2abf96fb85ca20a430f806bf651 100644
--- a/src/plugins/e-acsl/src/code_generator/assert.mli
+++ b/src/plugins/e-acsl/src/code_generator/assert.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/assigns.ml b/src/plugins/e-acsl/src/code_generator/assigns.ml
index 51e7f01a4601d950b2968476272a85eaca8a5b6d..eaa80b49e8f8e2682faa4c3d36b8bd9b3148d362 100644
--- a/src/plugins/e-acsl/src/code_generator/assigns.ml
+++ b/src/plugins/e-acsl/src/code_generator/assigns.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/assigns.mli b/src/plugins/e-acsl/src/code_generator/assigns.mli
index e7abdb52055d433bb49780a0d20630cfe84d70bd..c245cd4de580cb26a4dd2a241cacc02c913f2540 100644
--- a/src/plugins/e-acsl/src/code_generator/assigns.mli
+++ b/src/plugins/e-acsl/src/code_generator/assigns.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/contract.ml b/src/plugins/e-acsl/src/code_generator/contract.ml
index 7df4b992fbd0d404bcf3aba98403c9195a797062..e2dafa3717c764407fa9490730e0ef3521f604e4 100644
--- a/src/plugins/e-acsl/src/code_generator/contract.ml
+++ b/src/plugins/e-acsl/src/code_generator/contract.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/contract.mli b/src/plugins/e-acsl/src/code_generator/contract.mli
index 8dc2a3a21df5cbc5cb33068721f44f5b412a205c..51fa1c9a9d7e0ada9483d715b0e98c5650215337 100644
--- a/src/plugins/e-acsl/src/code_generator/contract.mli
+++ b/src/plugins/e-acsl/src/code_generator/contract.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/contract_types.mli b/src/plugins/e-acsl/src/code_generator/contract_types.mli
index 6795f366553b6a763c46becac97025ca518ceadf..49923bf4af254cd78adaa8eedf90523dbe9c2958 100644
--- a/src/plugins/e-acsl/src/code_generator/contract_types.mli
+++ b/src/plugins/e-acsl/src/code_generator/contract_types.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/env.ml b/src/plugins/e-acsl/src/code_generator/env.ml
index 505ee2bc23b336f25ab4338945cbabccead2a3da..1bc2d330c57097e2cae47ad1594952f86c93b988 100644
--- a/src/plugins/e-acsl/src/code_generator/env.ml
+++ b/src/plugins/e-acsl/src/code_generator/env.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/env.mli b/src/plugins/e-acsl/src/code_generator/env.mli
index 20583a0fef7d515a3a9ae7bbafc0f27df2ca92ee..da9b818bb86dc6843fb89c87c2d47613aa1ec332 100644
--- a/src/plugins/e-acsl/src/code_generator/env.mli
+++ b/src/plugins/e-acsl/src/code_generator/env.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/global_observer.ml b/src/plugins/e-acsl/src/code_generator/global_observer.ml
index 49f351fd678bac63d9e41680498de74dda3650fc..ad198f407bcaeae854172b4fce6e9a0131411fa7 100644
--- a/src/plugins/e-acsl/src/code_generator/global_observer.ml
+++ b/src/plugins/e-acsl/src/code_generator/global_observer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/global_observer.mli b/src/plugins/e-acsl/src/code_generator/global_observer.mli
index 41bf628a3f55b5adef1a98265e8bcdae52179a9c..debe4416f28d6d8903dad080fdfd24dadc9158e9 100644
--- a/src/plugins/e-acsl/src/code_generator/global_observer.mli
+++ b/src/plugins/e-acsl/src/code_generator/global_observer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/gmp.ml b/src/plugins/e-acsl/src/code_generator/gmp.ml
index bda936cba38519ccb159ba03b09ad4ab6fef55c4..b2eec285b37913ed2b79b68042213f990aeb22f2 100644
--- a/src/plugins/e-acsl/src/code_generator/gmp.ml
+++ b/src/plugins/e-acsl/src/code_generator/gmp.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/gmp.mli b/src/plugins/e-acsl/src/code_generator/gmp.mli
index 49cda90fc1221753ec90f99d0ec6f7eb2852b8a5..1028b4701d091436fefe806a4ef6e016b51091e0 100644
--- a/src/plugins/e-acsl/src/code_generator/gmp.mli
+++ b/src/plugins/e-acsl/src/code_generator/gmp.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/injector.ml b/src/plugins/e-acsl/src/code_generator/injector.ml
index ad0d79d1acb046c529fe59081b3b58a08db959f8..dacc80aa94a742b7d86f113c406436023369baf2 100644
--- a/src/plugins/e-acsl/src/code_generator/injector.ml
+++ b/src/plugins/e-acsl/src/code_generator/injector.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/injector.mli b/src/plugins/e-acsl/src/code_generator/injector.mli
index 1473a26b7efe51f067f8eb0dd16ca8b0a61abbdb..f638037f502bc0541bf81ec5f2d09a448e6a38d6 100644
--- a/src/plugins/e-acsl/src/code_generator/injector.mli
+++ b/src/plugins/e-acsl/src/code_generator/injector.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/libc.ml b/src/plugins/e-acsl/src/code_generator/libc.ml
index ac785dbf7b4583be1d39e24356b88c682da9f68c..6d7a2c1b1eb4a8bc9252902e2c519a056b425fcb 100644
--- a/src/plugins/e-acsl/src/code_generator/libc.ml
+++ b/src/plugins/e-acsl/src/code_generator/libc.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/libc.mli b/src/plugins/e-acsl/src/code_generator/libc.mli
index a5323906c402c9a8c765db8034d38feae4be7853..8438d7782dc188f2a33fd04b0ffeeb3d0378ace1 100644
--- a/src/plugins/e-acsl/src/code_generator/libc.mli
+++ b/src/plugins/e-acsl/src/code_generator/libc.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/literal_observer.ml b/src/plugins/e-acsl/src/code_generator/literal_observer.ml
index 517aa9bb62667cb7bf53a492f1bf8dc4b9eb28b7..66e35e146ef7f3eebf460c18f40944f610e21b30 100644
--- a/src/plugins/e-acsl/src/code_generator/literal_observer.ml
+++ b/src/plugins/e-acsl/src/code_generator/literal_observer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/literal_observer.mli b/src/plugins/e-acsl/src/code_generator/literal_observer.mli
index 826d4480e61728b431c79754e1b6c485e63abe3a..742e845aad0c60957528a17218904243c357354e 100644
--- a/src/plugins/e-acsl/src/code_generator/literal_observer.mli
+++ b/src/plugins/e-acsl/src/code_generator/literal_observer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/logic_array.ml b/src/plugins/e-acsl/src/code_generator/logic_array.ml
index 571e94bb1d1b19d7f0c360304b5877ef1f47b6a1..56fd4c6518729e0b905b020665da4b68510745eb 100644
--- a/src/plugins/e-acsl/src/code_generator/logic_array.ml
+++ b/src/plugins/e-acsl/src/code_generator/logic_array.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/logic_array.mli b/src/plugins/e-acsl/src/code_generator/logic_array.mli
index d4b74f4a1085356c53a1463438103dad8af57035..98e90fbd32ae0916c8e689bb2e2647bc4d256b00 100644
--- a/src/plugins/e-acsl/src/code_generator/logic_array.mli
+++ b/src/plugins/e-acsl/src/code_generator/logic_array.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/logic_functions.ml b/src/plugins/e-acsl/src/code_generator/logic_functions.ml
index 396a60a119ea184373f456e2f09fb1a5773f3601..1dd94bb94467bea728e9b455ebbba85fcba59c61 100644
--- a/src/plugins/e-acsl/src/code_generator/logic_functions.ml
+++ b/src/plugins/e-acsl/src/code_generator/logic_functions.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/logic_functions.mli b/src/plugins/e-acsl/src/code_generator/logic_functions.mli
index 6c757771aaf47bf770c27a62741ba23cfecd184d..312b1c5d1fb11dbae36a82acff69dcbe33d58ed0 100644
--- a/src/plugins/e-acsl/src/code_generator/logic_functions.mli
+++ b/src/plugins/e-acsl/src/code_generator/logic_functions.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/loops.ml b/src/plugins/e-acsl/src/code_generator/loops.ml
index e37356f2704e5dd37228f8b7b6a87308ce28612f..d656f4bd504e46f5a109f37f29746f1f114c741a 100644
--- a/src/plugins/e-acsl/src/code_generator/loops.ml
+++ b/src/plugins/e-acsl/src/code_generator/loops.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/loops.mli b/src/plugins/e-acsl/src/code_generator/loops.mli
index 9ac68edab8b98aa546a8375d629446e493b044d0..64739fbc061621617aa1dbf1669e1a4510413b92 100644
--- a/src/plugins/e-acsl/src/code_generator/loops.mli
+++ b/src/plugins/e-acsl/src/code_generator/loops.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/memory_observer.ml b/src/plugins/e-acsl/src/code_generator/memory_observer.ml
index 758ada02293078cc75d9cbef00fdf41d76db2890..65445b762662ae38390fc541b956d969fde49fce 100644
--- a/src/plugins/e-acsl/src/code_generator/memory_observer.ml
+++ b/src/plugins/e-acsl/src/code_generator/memory_observer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/memory_observer.mli b/src/plugins/e-acsl/src/code_generator/memory_observer.mli
index 216988488b021a02bd34d9fcf66893d7c5998cb0..36b3dfe8efff1bdaac84920f9ab07684eb19d332 100644
--- a/src/plugins/e-acsl/src/code_generator/memory_observer.mli
+++ b/src/plugins/e-acsl/src/code_generator/memory_observer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/memory_translate.ml b/src/plugins/e-acsl/src/code_generator/memory_translate.ml
index f78ee9b1fa4cb672a7c27bee234ac21a374b4b68..5ce9f723155a78b8090017ff950ea2293eb3fe37 100644
--- a/src/plugins/e-acsl/src/code_generator/memory_translate.ml
+++ b/src/plugins/e-acsl/src/code_generator/memory_translate.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/memory_translate.mli b/src/plugins/e-acsl/src/code_generator/memory_translate.mli
index 56e09443d74fec1c12ad7d6bba8d3eb37cbce617..6422aca9233290bfe5ddfb2a4d84080b68cc5d8b 100644
--- a/src/plugins/e-acsl/src/code_generator/memory_translate.mli
+++ b/src/plugins/e-acsl/src/code_generator/memory_translate.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/quantif.ml b/src/plugins/e-acsl/src/code_generator/quantif.ml
index 65c42387ff3705d9001348ecc7c2f0cbeef1f309..27a00a7af6bee9a8023f084d874d6797281c1b29 100644
--- a/src/plugins/e-acsl/src/code_generator/quantif.ml
+++ b/src/plugins/e-acsl/src/code_generator/quantif.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/quantif.mli b/src/plugins/e-acsl/src/code_generator/quantif.mli
index 6cbd98861ad11addad89f5ded892ad939020e4f0..fb8eccefe3c992dd474a950b9c3382341ce0ca94 100644
--- a/src/plugins/e-acsl/src/code_generator/quantif.mli
+++ b/src/plugins/e-acsl/src/code_generator/quantif.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/rational.ml b/src/plugins/e-acsl/src/code_generator/rational.ml
index 17f633f25508e25c76b6e8026281030012882fea..4e11ce0f4e4a79c512b78f656aec5700dd1cce3a 100644
--- a/src/plugins/e-acsl/src/code_generator/rational.ml
+++ b/src/plugins/e-acsl/src/code_generator/rational.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/rational.mli b/src/plugins/e-acsl/src/code_generator/rational.mli
index 6cf5a099c0e60985364f854a507e80d9172b9117..84f197cab38f15517f4b84fb2dc11ed975dfab9d 100644
--- a/src/plugins/e-acsl/src/code_generator/rational.mli
+++ b/src/plugins/e-acsl/src/code_generator/rational.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/smart_exp.ml b/src/plugins/e-acsl/src/code_generator/smart_exp.ml
index 11bbe595da24af5eaa69e95251fe8aecc803d33b..bd7c20cc87f4316a8d3a07befb042b97ec5a31ea 100644
--- a/src/plugins/e-acsl/src/code_generator/smart_exp.ml
+++ b/src/plugins/e-acsl/src/code_generator/smart_exp.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/smart_exp.mli b/src/plugins/e-acsl/src/code_generator/smart_exp.mli
index 5aea69fd00c72d41357a3bebcf7ac5a08f74840b..a2f1dbd82002aea2d8ecbc7a4ea03cf42ec0df3a 100644
--- a/src/plugins/e-acsl/src/code_generator/smart_exp.mli
+++ b/src/plugins/e-acsl/src/code_generator/smart_exp.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/smart_stmt.ml b/src/plugins/e-acsl/src/code_generator/smart_stmt.ml
index 62bb1853203f0e5e80832473b35528d2b085bf9f..9adea5ec2f45130ade361842897572595263d6fc 100644
--- a/src/plugins/e-acsl/src/code_generator/smart_stmt.ml
+++ b/src/plugins/e-acsl/src/code_generator/smart_stmt.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/smart_stmt.mli b/src/plugins/e-acsl/src/code_generator/smart_stmt.mli
index 887cf852e0adfe9266f87387e661b7f0d693e917..03e2a02476d858e5d69eda72ad714c0b718372bd 100644
--- a/src/plugins/e-acsl/src/code_generator/smart_stmt.mli
+++ b/src/plugins/e-acsl/src/code_generator/smart_stmt.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/temporal.ml b/src/plugins/e-acsl/src/code_generator/temporal.ml
index 6635219091eebd327c4f965db37fcdea49f99ba5..c4f847c560e0de7b38e72bbe8eafc70a88a77354 100644
--- a/src/plugins/e-acsl/src/code_generator/temporal.ml
+++ b/src/plugins/e-acsl/src/code_generator/temporal.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/temporal.mli b/src/plugins/e-acsl/src/code_generator/temporal.mli
index 8400c1bb348333f0966e2543fb638e1dc2c8362b..fbee3efce41323a1e8003e71d0443dca8a53acb1 100644
--- a/src/plugins/e-acsl/src/code_generator/temporal.mli
+++ b/src/plugins/e-acsl/src/code_generator/temporal.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_annots.ml b/src/plugins/e-acsl/src/code_generator/translate_annots.ml
index bc00c99360a6a95884679508a1908f1fb4da7ccd..50e3f5fb56843046b70b5db9edf5be83a6ba98ee 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_annots.ml
+++ b/src/plugins/e-acsl/src/code_generator/translate_annots.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_annots.mli b/src/plugins/e-acsl/src/code_generator/translate_annots.mli
index a9931f901e90806678127d4001c3a9f5648273e3..cd7e416321bea29e101a93c3827bef7cf4f7dad0 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_annots.mli
+++ b/src/plugins/e-acsl/src/code_generator/translate_annots.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_ats.ml b/src/plugins/e-acsl/src/code_generator/translate_ats.ml
index 0d12bfa2e8589df298e7b0abae3449b9c3cc639b..aea6fef775426369624525e1ef3e939060bd8e81 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_ats.ml
+++ b/src/plugins/e-acsl/src/code_generator/translate_ats.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_ats.mli b/src/plugins/e-acsl/src/code_generator/translate_ats.mli
index a975de1732c06192ec9e98e953016d240525d133..ae5988316ed52b74be0b1318193b43b797d86616 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_ats.mli
+++ b/src/plugins/e-acsl/src/code_generator/translate_ats.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_predicates.ml b/src/plugins/e-acsl/src/code_generator/translate_predicates.ml
index 55ae1ad1f49b751042c5a1d45948f06414d6461f..f2de0bc87cf9e97d465c29d8748d85033ba52c54 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_predicates.ml
+++ b/src/plugins/e-acsl/src/code_generator/translate_predicates.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_predicates.mli b/src/plugins/e-acsl/src/code_generator/translate_predicates.mli
index 4bc6be0898c5391a413cf2f52fde6217404e4cbe..bc9b21f74a6db912604f5d3add3208b628df41cf 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_predicates.mli
+++ b/src/plugins/e-acsl/src/code_generator/translate_predicates.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_rtes.ml b/src/plugins/e-acsl/src/code_generator/translate_rtes.ml
index 6c54a45e3fb6517c50be6da3a2d2c1131719e7b0..3a25b9959cdbdf82d1aa10b33aaab97521ae3e79 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_rtes.ml
+++ b/src/plugins/e-acsl/src/code_generator/translate_rtes.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_rtes.mli b/src/plugins/e-acsl/src/code_generator/translate_rtes.mli
index 907b8e3f6f63d5e505da7aca159bafb79e7b2918..bc04c79f2f5eddb21bcbb4eb8344d4af8bd7bd93 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_rtes.mli
+++ b/src/plugins/e-acsl/src/code_generator/translate_rtes.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_terms.ml b/src/plugins/e-acsl/src/code_generator/translate_terms.ml
index c9672f2a0f153648679bcb15bb14bff01ce8ca59..d748d34d5431cb67d9bb5b2d3533fd6034672c2d 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_terms.ml
+++ b/src/plugins/e-acsl/src/code_generator/translate_terms.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_terms.mli b/src/plugins/e-acsl/src/code_generator/translate_terms.mli
index 18545ea6da217b5f9db1332cb6cdd3eb830d419d..6b91a1e2fee62b3c62e8a5635723ac086e256081 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_terms.mli
+++ b/src/plugins/e-acsl/src/code_generator/translate_terms.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_utils.ml b/src/plugins/e-acsl/src/code_generator/translate_utils.ml
index d1333eb9695747e96aa2e661ea95e934f57bd323..053ccd96994e8114c97f1a7fbeae521077b45c2c 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_utils.ml
+++ b/src/plugins/e-acsl/src/code_generator/translate_utils.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_utils.mli b/src/plugins/e-acsl/src/code_generator/translate_utils.mli
index 66a1ee99831eef27e063e2f1f8ecdf1c757b312e..2932dd4db854cbab3e1f6b0edf5308a4a28500a3 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_utils.mli
+++ b/src/plugins/e-acsl/src/code_generator/translate_utils.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translation_error.ml b/src/plugins/e-acsl/src/code_generator/translation_error.ml
index 5636d7d244c6781e810aedc9dfeeafefaa53e3d1..1e16b180ba128e43f6d41a422afbaf52a6bc7213 100644
--- a/src/plugins/e-acsl/src/code_generator/translation_error.ml
+++ b/src/plugins/e-acsl/src/code_generator/translation_error.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/translation_error.mli b/src/plugins/e-acsl/src/code_generator/translation_error.mli
index 24208ba225d372a1a1232b30827c5ef5ee7fe70b..0e704d2ab84b119bd5da0a7aebac1694bca1105c 100644
--- a/src/plugins/e-acsl/src/code_generator/translation_error.mli
+++ b/src/plugins/e-acsl/src/code_generator/translation_error.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/typed_number.ml b/src/plugins/e-acsl/src/code_generator/typed_number.ml
index 389ee6cfd6c263e7d8a7e22fead7b3ba28af770d..3d7e85f2af592e9259469a3b20b364e56a57ce1e 100644
--- a/src/plugins/e-acsl/src/code_generator/typed_number.ml
+++ b/src/plugins/e-acsl/src/code_generator/typed_number.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/code_generator/typed_number.mli b/src/plugins/e-acsl/src/code_generator/typed_number.mli
index 1dcd19ab0bd12f20e733fcf1a370716243b6e203..15f266d9fc2feb6ca68991a6b3a0d6616def3b28 100644
--- a/src/plugins/e-acsl/src/code_generator/typed_number.mli
+++ b/src/plugins/e-acsl/src/code_generator/typed_number.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/builtins.ml b/src/plugins/e-acsl/src/libraries/builtins.ml
index 453fec5f69f6e9e0f9025ebcd9b112c775b177a1..7cf31f897f0218d4e586877b766c29b62abda68f 100644
--- a/src/plugins/e-acsl/src/libraries/builtins.ml
+++ b/src/plugins/e-acsl/src/libraries/builtins.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/builtins.mli b/src/plugins/e-acsl/src/libraries/builtins.mli
index 2a71345fca248338ad419537f7ad73fb3119c666..330213a6536a227a6910aae253c6003fa4b38f35 100644
--- a/src/plugins/e-acsl/src/libraries/builtins.mli
+++ b/src/plugins/e-acsl/src/libraries/builtins.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/error.ml b/src/plugins/e-acsl/src/libraries/error.ml
index 4fdf23fe5993d7e7189e82bad9feba010b7361f8..1b32febdce7a0fec8334dbcd7246080599f18543 100644
--- a/src/plugins/e-acsl/src/libraries/error.ml
+++ b/src/plugins/e-acsl/src/libraries/error.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/error.mli b/src/plugins/e-acsl/src/libraries/error.mli
index c83496560bf0279258eeb0f07534d4aef78f2757..599ec5cd1bb75d6f3c6d4d5c5ce1307d45e9577a 100644
--- a/src/plugins/e-acsl/src/libraries/error.mli
+++ b/src/plugins/e-acsl/src/libraries/error.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/functions.ml b/src/plugins/e-acsl/src/libraries/functions.ml
index bf0f9365e8ddbca068390b617a4f53f41dff51e4..7f04901562f7cb0131529687196e9d3b5ecb726f 100644
--- a/src/plugins/e-acsl/src/libraries/functions.ml
+++ b/src/plugins/e-acsl/src/libraries/functions.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/functions.mli b/src/plugins/e-acsl/src/libraries/functions.mli
index 97667d9b1942dfa59e92ffc2082984f840663a21..695997ec7288b67fcee338ad9477ce0122c6e802 100644
--- a/src/plugins/e-acsl/src/libraries/functions.mli
+++ b/src/plugins/e-acsl/src/libraries/functions.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/gmp_types.ml b/src/plugins/e-acsl/src/libraries/gmp_types.ml
index 76b9b82f14bfc551589125ed64b04dd84e49b1db..29182b36f9c83ace07c38ed1a1eaa27745eaac5b 100644
--- a/src/plugins/e-acsl/src/libraries/gmp_types.ml
+++ b/src/plugins/e-acsl/src/libraries/gmp_types.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/gmp_types.mli b/src/plugins/e-acsl/src/libraries/gmp_types.mli
index e8b2f6a78c38bab34704a91d5326d5551f25e2f3..1e1858fcbba7dab59312f70aa27fbb5a7b5c74d4 100644
--- a/src/plugins/e-acsl/src/libraries/gmp_types.mli
+++ b/src/plugins/e-acsl/src/libraries/gmp_types.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/logic_aggr.ml b/src/plugins/e-acsl/src/libraries/logic_aggr.ml
index e08ca8acbaeffb887cd5de96ff7466103c4c5909..f874e55f23a29fa2cebe4e80a4b9e4a323508e04 100644
--- a/src/plugins/e-acsl/src/libraries/logic_aggr.ml
+++ b/src/plugins/e-acsl/src/libraries/logic_aggr.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/logic_aggr.mli b/src/plugins/e-acsl/src/libraries/logic_aggr.mli
index b8acfb91f8afc53613fa9b3257ced108a13209a5..8b486e5866c6723bbec20936778c2924049487f7 100644
--- a/src/plugins/e-acsl/src/libraries/logic_aggr.mli
+++ b/src/plugins/e-acsl/src/libraries/logic_aggr.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/misc.ml b/src/plugins/e-acsl/src/libraries/misc.ml
index 8602698152a7ee7da54c4b1afb574fa85a5ac384..3c6c9feda98295f8eec56197a1828e496adfe455 100644
--- a/src/plugins/e-acsl/src/libraries/misc.ml
+++ b/src/plugins/e-acsl/src/libraries/misc.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/misc.mli b/src/plugins/e-acsl/src/libraries/misc.mli
index 206ee04107273cc55276b4e323fe90828f609b66..a7268c4bf1d4e3c13c474fc35f3cd1cffe7a0f30 100644
--- a/src/plugins/e-acsl/src/libraries/misc.mli
+++ b/src/plugins/e-acsl/src/libraries/misc.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/varname.ml b/src/plugins/e-acsl/src/libraries/varname.ml
index dafcd89ca436be8394a8c2fbb799355175aab237..29fe6750b195445d02a821eb1cf55ecbab4d3a2f 100644
--- a/src/plugins/e-acsl/src/libraries/varname.ml
+++ b/src/plugins/e-acsl/src/libraries/varname.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/libraries/varname.mli b/src/plugins/e-acsl/src/libraries/varname.mli
index c43aed275f17702826c7d69993813c3811f5cf74..cc71aab8b9a22151ce784bee797e9b5a6061824b 100644
--- a/src/plugins/e-acsl/src/libraries/varname.mli
+++ b/src/plugins/e-acsl/src/libraries/varname.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/local_config.mli b/src/plugins/e-acsl/src/local_config.mli
index 8ab2227f4912d0ab5ebc491ef04d0dfbe0f60b5a..5c82580206b7a8c8b42ea24deb3dc616a5373e46 100644
--- a/src/plugins/e-acsl/src/local_config.mli
+++ b/src/plugins/e-acsl/src/local_config.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/main.ml b/src/plugins/e-acsl/src/main.ml
index 949b0a3a927bc9b4404c3514cc904b8d672426c1..b90ce7fac2ef470519f97493dbfb19f76f5f3ed0 100644
--- a/src/plugins/e-acsl/src/main.ml
+++ b/src/plugins/e-acsl/src/main.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/main.mli b/src/plugins/e-acsl/src/main.mli
index 5b30738ecfa09c62ba32a1d28a0b387b0ee55291..619526dfb8f219e786cf7b9995f88e836b402be2 100644
--- a/src/plugins/e-acsl/src/main.mli
+++ b/src/plugins/e-acsl/src/main.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/options.ml b/src/plugins/e-acsl/src/options.ml
index 6936e54b2626408f490122f9acd14f9a13966222..caf5bf2535dc2a727bc91ed47ae073fc47319db8 100644
--- a/src/plugins/e-acsl/src/options.ml
+++ b/src/plugins/e-acsl/src/options.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/options.mli b/src/plugins/e-acsl/src/options.mli
index 393c91e5a046dcc7ba7c75b3d31367dea8e6af07..d6077d11197fb0d11a67181e6e49c661a6a4339c 100644
--- a/src/plugins/e-acsl/src/options.mli
+++ b/src/plugins/e-acsl/src/options.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/project_initializer/prepare_ast.ml b/src/plugins/e-acsl/src/project_initializer/prepare_ast.ml
index 4f0d951aca08aa973a6b84030f9be4549bb2a91e..f28a37a3eb525a806a694efb4a6cfc7200ac0e5f 100644
--- a/src/plugins/e-acsl/src/project_initializer/prepare_ast.ml
+++ b/src/plugins/e-acsl/src/project_initializer/prepare_ast.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/project_initializer/prepare_ast.mli b/src/plugins/e-acsl/src/project_initializer/prepare_ast.mli
index 6fae22c89968c800020dbb86d0d751036f452958..856bf5d8d0a78aac5050ab4ad537e459edc65113 100644
--- a/src/plugins/e-acsl/src/project_initializer/prepare_ast.mli
+++ b/src/plugins/e-acsl/src/project_initializer/prepare_ast.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/project_initializer/rtl.ml b/src/plugins/e-acsl/src/project_initializer/rtl.ml
index 092dc9b45e00d4c8e95d5edf547b1ed7d896e58f..9cda687a2e314b91a843d26863a4e36a6938cea6 100644
--- a/src/plugins/e-acsl/src/project_initializer/rtl.ml
+++ b/src/plugins/e-acsl/src/project_initializer/rtl.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/src/project_initializer/rtl.mli b/src/plugins/e-acsl/src/project_initializer/rtl.mli
index 684d63b9bbfd8f5f95fb3b6d7c9827879665bca0..a27552099a427bcfea8011fe61d7519e43f2b934 100644
--- a/src/plugins/e-acsl/src/project_initializer/rtl.mli
+++ b/src/plugins/e-acsl/src/project_initializer/rtl.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/tab-in-changelog.sh b/src/plugins/e-acsl/tab-in-changelog.sh
index be0ead0ed19534b1e9338f76f3b4f5349172c121..2ec18c9f8dcc545371fc04ca36adf012d33d51da 100755
--- a/src/plugins/e-acsl/tab-in-changelog.sh
+++ b/src/plugins/e-acsl/tab-in-changelog.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of the Frama-C's E-ACSL plug-in.                    #
 #                                                                        #
-#  Copyright (C) 2012-2021                                               #
+#  Copyright (C) 2012-2022                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/e-acsl/tests/E_ACSL_test.ml b/src/plugins/e-acsl/tests/E_ACSL_test.ml
index ead9134fe3272559f02a1cac5ba2c8f75dd798c5..24ad6473ecd9fdb7d6560d5ab65bdbb1744f2df8 100644
--- a/src/plugins/e-acsl/tests/E_ACSL_test.ml
+++ b/src/plugins/e-acsl/tests/E_ACSL_test.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of the Frama-C's E-ACSL plug-in.                    *)
 (*                                                                        *)
-(*  Copyright (C) 2012-2021                                               *)
+(*  Copyright (C) 2012-2022                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/e-acsl/tests/bts/issue-eacsl-40.c b/src/plugins/e-acsl/tests/bts/issue-eacsl-40.c
index c2306b33bd28b649bdd59e27c6ecfc3b8acbf8fc..aa21266b8c8266aee648615e72d6df675a25adc8 100644
--- a/src/plugins/e-acsl/tests/bts/issue-eacsl-40.c
+++ b/src/plugins/e-acsl/tests/bts/issue-eacsl-40.c
@@ -11,6 +11,7 @@ int main() {
   if (f) {
     char buf[4];
     int res = fread(buf, 1, 4, f);
+    fclose(f);
     if (res == 4) {
       //@ assert \initialized(&buf[3]);
       buf[0] = buf[3];
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c
index a77ca62bfe58ef77a90b7508ad4f018234be657f..ad1fd155052e5c428dc732b8365cd7a6ce1c43c9 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c
@@ -10,6 +10,13 @@ char *__gen_e_acsl_literal_string;
 char *__gen_e_acsl_literal_string_2;
 extern  __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict;
 
+/*@ requires valid_stream: \valid(stream);
+    ensures result_zero_or_EOF: \result == 0 || \result == -1;
+    assigns \result;
+    assigns \result \from (indirect: stream), (indirect: *stream);
+ */
+int __gen_e_acsl_fclose(FILE *stream);
+
 /*@ requires valid_filename: valid_read_string(filename);
     requires valid_mode: valid_read_string(mode);
     ensures
@@ -408,6 +415,63 @@ FILE *__gen_e_acsl_fopen(char const * restrict filename,
   return __retres;
 }
 
+/*@ requires valid_stream: \valid(stream);
+    ensures result_zero_or_EOF: \result == 0 || \result == -1;
+    assigns \result;
+    assigns \result \from (indirect: stream), (indirect: *stream);
+ */
+int __gen_e_acsl_fclose(FILE *stream)
+{
+  int __retres;
+  {
+    int __gen_e_acsl_valid;
+    __e_acsl_store_block((void *)(& stream),8UL);
+    __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
+    __gen_e_acsl_valid = __e_acsl_valid((void *)stream,sizeof(FILE),
+                                        (void *)stream,(void *)(& stream));
+    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"stream",
+                                 (void *)stream);
+    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(FILE)",
+                                   0,sizeof(FILE));
+    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,
+                                 "\\valid(stream)",0,__gen_e_acsl_valid);
+    __gen_e_acsl_assert_data.blocking = 1;
+    __gen_e_acsl_assert_data.kind = "Precondition";
+    __gen_e_acsl_assert_data.pred_txt = "\\valid(stream)";
+    __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdio.h";
+    __gen_e_acsl_assert_data.fct = "fclose";
+    __gen_e_acsl_assert_data.line = 120;
+    __gen_e_acsl_assert_data.name = "valid_stream";
+    __e_acsl_assert(__gen_e_acsl_valid,& __gen_e_acsl_assert_data);
+    __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
+  }
+  __retres = fclose(stream);
+  {
+    int __gen_e_acsl_or;
+    __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
+      {.values = (void *)0};
+    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\result",0,
+                                 __retres);
+    if (__retres == 0) __gen_e_acsl_or = 1;
+    else {
+      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\result",0,
+                                   __retres);
+      __gen_e_acsl_or = __retres == -1;
+    }
+    __gen_e_acsl_assert_data_2.blocking = 1;
+    __gen_e_acsl_assert_data_2.kind = "Postcondition";
+    __gen_e_acsl_assert_data_2.pred_txt = "\\result == 0 || \\result == -1";
+    __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/stdio.h";
+    __gen_e_acsl_assert_data_2.fct = "fclose";
+    __gen_e_acsl_assert_data_2.line = 122;
+    __gen_e_acsl_assert_data_2.name = "result_zero_or_EOF";
+    __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_2);
+    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
+    __e_acsl_delete_block((void *)(& stream));
+    return __retres;
+  }
+}
+
 void __e_acsl_globals_init(void)
 {
   static char __e_acsl_already_run = 0;
@@ -443,6 +507,7 @@ int main(void)
     __e_acsl_store_block((void *)(buf_0),4UL);
     tmp_0 = __gen_e_acsl_fread((void *)(buf_0),(size_t)1,(size_t)4,f);
     int res = (int)tmp_0;
+    __gen_e_acsl_fclose(f);
     if (res == 4) {
       {
         int __gen_e_acsl_initialized;
@@ -462,7 +527,7 @@ int main(void)
         __gen_e_acsl_assert_data.pred_txt = "\\initialized(&buf_0[3])";
         __gen_e_acsl_assert_data.file = "issue-eacsl-40.c";
         __gen_e_acsl_assert_data.fct = "main";
-        __gen_e_acsl_assert_data.line = 15;
+        __gen_e_acsl_assert_data.line = 16;
         __e_acsl_assert(__gen_e_acsl_initialized,& __gen_e_acsl_assert_data);
         __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
       }
diff --git a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle
index 5d7b7b396b9286b8ed229b797471acf27af2d80b..aacd127bce378a5ddba8a647e7037b3eb04e679d 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle
+++ b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle
@@ -1,4 +1,7 @@
 [e-acsl] beginning translation.
+[e-acsl] Warning: annotating undefined function `fclose':
+  the generated program may miss memory instrumentation
+  if there are memory-related annotations.
 [e-acsl] Warning: annotating undefined function `fopen':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
@@ -19,6 +22,9 @@
   `logic functions or predicates with no definition nor reads clause'
   is not yet supported.
   Ignoring annotation.
+[e-acsl] FRAMAC_SHARE/libc/stdio.h:118: Warning: 
+  E-ACSL construct `assigns clause in behavior' is not yet supported.
+  Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
 [eva:alarm] FRAMAC_SHARE/libc/stdio.h:351: Warning: 
   function __e_acsl_assert, behavior blocking: precondition got status unknown.
@@ -66,12 +72,23 @@
                                                       \valid(data->values) got status unknown.
 [eva:alarm] FRAMAC_SHARE/libc/stdio.h:357: Warning: 
   function __gen_e_acsl_fread: postcondition 'initialization' got status unknown.
-[eva:alarm] issue-eacsl-40.c:15: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/stdio.h:120: Warning: 
+  function __e_acsl_assert_register_ulong: precondition data->values == \null ||
+                                                        \valid(data->values) got status unknown.
+[eva:alarm] FRAMAC_SHARE/libc/stdio.h:120: Warning: 
+  function __e_acsl_assert_register_int: precondition data->values == \null ||
+                                                      \valid(data->values) got status unknown.
+[eva:alarm] FRAMAC_SHARE/libc/stdio.h:120: Warning: 
+  function __e_acsl_assert, behavior blocking: precondition got status unknown.
+[eva:alarm] FRAMAC_SHARE/libc/stdio.h:122: Warning: 
+  function __e_acsl_assert_register_int: precondition data->values == \null ||
+                                                      \valid(data->values) got status unknown.
+[eva:alarm] issue-eacsl-40.c:16: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
                                                         \valid(data->values) got status unknown.
-[eva:alarm] issue-eacsl-40.c:15: Warning: 
+[eva:alarm] issue-eacsl-40.c:16: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] issue-eacsl-40.c:15: Warning: 
+[eva:alarm] issue-eacsl-40.c:16: Warning: 
   function __e_acsl_assert, behavior blocking: precondition got status unknown.
-[eva:alarm] issue-eacsl-40.c:15: Warning: assertion got status unknown.
+[eva:alarm] issue-eacsl-40.c:16: Warning: assertion got status unknown.
diff --git a/src/plugins/e-acsl/tests/wrapper.sh b/src/plugins/e-acsl/tests/wrapper.sh
index 938734fdab46eabfe6db60a6c78f3895b86d17b8..b97a83379bed140ffcc87f140f6c9bdf8de74d1e 100755
--- a/src/plugins/e-acsl/tests/wrapper.sh
+++ b/src/plugins/e-acsl/tests/wrapper.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of the Frama-C's E-ACSL plug-in.                    #
 #                                                                        #
-#  Copyright (C) 2012-2021                                               #
+#  Copyright (C) 2012-2022                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/gui/dgraph_helper.mli b/src/plugins/gui/dgraph_helper.mli
index a57f5fc064c3bf0f692d450434b7c868fb34a9c9..0dac7a9dc8a9e9f0b59e0e004c7f63a22957d4ed 100644
--- a/src/plugins/gui/dgraph_helper.mli
+++ b/src/plugins/gui/dgraph_helper.mli
@@ -20,6 +20,11 @@
 (*                                                                        *)
 (**************************************************************************)
 
+(** Creation of windows for displaying graphs. Only available
+    for lablgtk2. In lablgtk3 mode, the window will only display a
+    text saying that the feature is not available.
+*)
+
 (** Create a new window displaying a graph.
     @plugin development guide *)
 val graph_window:
diff --git a/src/plugins/gui/pretty_source.mli b/src/plugins/gui/pretty_source.mli
index a76f237f0cbcc4b53fea9d3bf7e6f9ce16b5beed..5880954f800a2a3940c4b32afca227cc54bb8b9e 100644
--- a/src/plugins/gui/pretty_source.mli
+++ b/src/plugins/gui/pretty_source.mli
@@ -36,7 +36,10 @@ type localizable = Printer_tag.localizable =
       of the varinfo to distinguish between the various possibilities.
       If the varinfo is a global or a local, the kernel_function is the
       one in which the variable is declared. The [kinstr] argument is given
-      for local variables with an explicit initializer. *)
+      for local variables with an explicit initializer.
+
+      @plugin development guide
+  *)
   | PGlobal of global (** all globals but variable declarations and function
                           definitions. *)
   | PIP of Property.t
diff --git a/src/plugins/pdg_types/pdgTypes.mli b/src/plugins/pdg_types/pdgTypes.mli
index e90bc536de1e7316d67addf4c4b3315a866a7426..ca007069dfb42b9b8dee808180aa84873ad72054 100644
--- a/src/plugins/pdg_types/pdgTypes.mli
+++ b/src/plugins/pdg_types/pdgTypes.mli
@@ -22,7 +22,7 @@
 
 (** This module defines the types that are used to store the PDG of a
     function.
-    @plugin development guide *)
+*)
 
 (** [Dpd] stands for 'dependence'. This object is used as a label on the edges
  * of the PDG. There are three kinds of dependencies :
diff --git a/src/plugins/users/users_register.ml b/src/plugins/users/users_register.ml
index 08352196ad61bedfaea29ad2190ac501cd69f6ba..fe423e0f191874114bd5228ba78be2e4821bb853 100644
--- a/src/plugins/users/users_register.ml
+++ b/src/plugins/users/users_register.ml
@@ -20,8 +20,6 @@
 (*                                                                        *)
 (**************************************************************************)
 
-(**  @plugin development guide *)
-
 include
   Plugin.Register
     (struct
@@ -30,7 +28,6 @@ include
       let help = "function callees"
     end)
 
-(** @plugin development guide *)
 module ForceUsers =
   False
     (struct
diff --git a/src/plugins/value/engine/analysis.mli b/src/plugins/value/engine/analysis.mli
index ae7383efe459843611c1b59a0001c1065d0f8ccc..99fa1e27592fd03fa534e3473545852e7f6a656b 100644
--- a/src/plugins/value/engine/analysis.mli
+++ b/src/plugins/value/engine/analysis.mli
@@ -88,7 +88,9 @@ val compute : unit -> unit
     @plugin development guide *)
 
 val is_computed : unit -> bool
-(** Return [true] iff the Eva analysis has been done. *)
+(** Return [true] iff the Eva analysis has been done.
+    @plugin development guide
+*)
 
 val self : State.t
 (** Internal state of Eva analysis from projects viewpoint. *)
diff --git a/src/plugins/value/utils/results.mli b/src/plugins/value/utils/results.mli
index de423c3260fa3a6da2d8bcf3c7c9cb8fdb911092..e6c0678569aa2f5e7077e6780f285ac667560a5f 100644
--- a/src/plugins/value/utils/results.mli
+++ b/src/plugins/value/utils/results.mli
@@ -22,11 +22,9 @@
 
 [@@@ api_start]
 
-(** Eva's result API is a work-in-progress interface to allow accessing the
-    analysis results once its completed. It is experimental and is very likely
-    to change in the future. It aims at replacing [Db.Value] but does not
-    completely covers all its usages yet. As for now, this interface has some
-    advantages over Db's :
+(** Eva's result API is a new interface to access the results of an analysis,
+    once it is completed. It may slightly change in the future. It aims at
+    replacing most uses of [Db.Value], and has some advantages over Db's :
 
     - evaluations uses every available domains and not only Cvalue;
     - the caller may distinguish failure cases when a request is unsucessful;
diff --git a/src/plugins/value_types/cilE.mli b/src/plugins/value_types/cilE.mli
index a32fc59c506ef02be93f94870f4b9d21428b44e9..86e8be09466080f90986feb9d3c04ff26e34047c 100644
--- a/src/plugins/value_types/cilE.mli
+++ b/src/plugins/value_types/cilE.mli
@@ -20,8 +20,7 @@
 (*                                                                        *)
 (**************************************************************************)
 
-(** Value analysis alarms
-    @plugin development guide *)
+(** Value analysis alarms *)
 
 (* ************************************************************************* *)
 (* [JS 2011/03/11] All the below stuff manage warnings of the value analysis