% File bismon/doc/bismon-doc.tex on github.com/bstarynk/bismon
% by <basile.starynkevitch@cea.fr> ... Please read both
% bismon/README.md and bismon/dependencies/README-dependencies.md
% before processing this LaTeX document on Debian related Linux
% distributions using the "make doc" command from bismon/ source
% directory.
\documentclass[11pt,a4paper,svgnames]{article}
\usepackage[T1]{fontenc}
% inputenc is not needed with lualatex
% \usepackage[utf8x]{inputenc}
\usepackage{alltt}
% https://tex.stackexchange.com/a/342804/42406
% IMPORTANT! see also: https://tex.stackexchange.com/a/500963/42406
%\usepackage{textcomp}
\usepackage{moreverb}
\usepackage{fancyvrb}
\usepackage{fancyhdr}
\usepackage{fancybox}
% https://tex.stackexchange.com/a/226497/42406
\usepackage[title]{appendix}
% libertine, see https://tex.stackexchange.com/a/9868/42406
%\usepackage{libertine}
%\usepackage{epsfig}
\usepackage{graphicx}
\usepackage{float}
\usepackage{xcolor}
\usepackage{moreverb}
\usepackage{multirow}
\usepackage{boxedminipage}
\usepackage[square]{natbib}
% https://tex.stackexchange.com/a/16992/42406
\usepackage{mathabx}
%\usepackage{charter}
%\usepackage{inconsolata}
\usepackage{hevea}
\usepackage{listings}
\usepackage{relsize}
\usepackage{verbatimbox}
\usepackage{verbatim}
%\usepackage{filecontents}
\usepackage{catchfile}
\usepackage{lastpage}
\usepackage{stmaryrd}
\usepackage{ucs}
%\usepackage{stix}
\usepackage{newunicodechar}
% bigfoot enables \verb in footnotes
\usepackage{bigfoot}
\usepackage{makeidx}
\usepackage{times}
% https://tex.stackexchange.com/a/413066/42406
\usepackage{apptools}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage{hyperref}

\newcommand{\bmemail}[1]{{\href{mailto:#1}{\texttt{\textbf{#1}}}}}
\newcommand{\bmurl}[1]{{\href{#1}{\texttt{\relsize{-1}{\textbf{#1}}}}}}


% see also http://www.sascha-frank.com/Arrow/latex-arrows.html
% and http://tug.ctan.org/info/symbols/comprehensive/symbols-a4.pdf
% and https://ctan.math.illinois.edu/macros/latex/contrib/newunicodechar/newunicodechar.pdf
%%%% keep in order
%U+21A6 RIGHTWARDS ARROW FROM BAR
\newunicodechar{↦}{$\mapsto$}
%U+21B3 DOWNWARDS ARROW WITH TIP RIGHTWARDS
\newunicodechar{↳}{\rotatebox[origin=c]{180}{$\Lsh$}}
%U+2208 ELEMENT OF
\newunicodechar{∈}{$\in$}
% U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
\newunicodechar{«}{\guillemotleft}
% U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
\newunicodechar{»}{\guillemotright}
% U+00B1 PLUS-MINUS SIGN
\newunicodechar{±}{$\pm$}
% U+00B5 MICRO SIGN
\newunicodechar{µ}{$\mu$}


%see https://tex.stackexchange.com/a/51656/42406 
\lstdefinelanguage
   [x64]{Assembler}     % add a "x64" dialect of Assembler
   [x86masm]{Assembler} % based on the "x86masm" dialect
   % with these extra keywords:
   {morekeywords={CDQE,CQO,CMPSQ,CMPXCHG16B,JRCXZ,LODSQ,MOVSXD, %
                  POPFQ,PUSHFQ,SCASQ,STOSQ,IRETQ,RDTSCP,SWAPGS, %
                  rax,rdx,rcx,rbx,rsi,rdi,rsp,rbp, %
                  r8,r8d,r8w,r8b,r9,r9d,r9w,r9b, %
                  r10,r10d,r10w,r10b,r11,r11d,r11w,r11b, %
                  r12,r12d,r12w,r12b,r13,r13d,r13w,r13b, %
                  r14,r14d,r14w,r14b,r15,r15d,r15w,r15b}} % etc.

%% https://latex.org/forum/viewtopic.php?t=3970
%\makeatletter
%\newcommand*\bmexpandableinput[1]{\@@input#1 }
%\makeatother

 % see https://tex.stackexchange.com/a/51349/42406
\hypersetup{
  colorlinks   = true, %Colours links instead of ugly boxes
  urlcolor     = NavyBlue, %Colour for external hyperlinks
  linkcolor    = DarkGreen, %Colour of internal links
  citecolor   = DarkMagenta, %Colour of citations
  frenchlinks = true,
}
% generated files
\input{generated/git-commit.tex}
\input{generated/timestamp.tex}



% LaTeX specific macros that HeVeA should ignore
\input{bismon-latex.tex}

\date{\bmdocdate}

%-\title{{\color{orange}{D1.3v1}}~Specialized Static Analysis tools for more secure and safer IoT software development.
%-  \\
%-  {\large{\emph{Bismon}~\thanks{The \texttt{bismon} name is temporary and
%-    is likely to change later. See also the
%-    \bmurl{http://github.com/bstarynk/bismon} repository; this documentation was generated with its \texttt{build-bismon-doc.sh} script}~ documentation}}}
%-
%-\author{Basile \textsc{Starynkevitch}\thanks{Email
%-    \bmemail{basile@starynkevitch.net} or
%-    \bmemail{basile.starynkevitch@cea.fr}}, %
%-  \\ {\small{CEA, LIST,
%-      France}}}
%-
% the index works again in commit d7070ccc581cf951e2a22bfed8 but we dont know why :-(
\makeindex

\begin{document}

\bibliographystyle{abbrvnat}


\pagestyle{fancy}
\fancyhf{}
\rhead{the \textsc{Bismon} static source code analyzer}
\renewcommand{\footrulewidth}{0.4pt}
% https://tex.stackexchange.com/a/317531/42406
\futurelet\TMPfootrule\def\footrule{{\color{orange}\TMPfootrule}}
\futurelet\TMPheadrule\def\headrule{{\color{orange}\TMPheadrule}}
\fancyfoot[L]{{\raisebox{0.0cm}[1pt][1pt]{\color{LightSlateGrey}{{\relsize{+1}{DRAFT}}}~\relsize{-1.5}{\texttt{\bmgitcommit} on \emph{\bmgitdate}}}}}
\fancyfoot[R]{{Page \thepage ~ {\relsize{-2.5}{of \pageref{LastPage}}}}}
\begin{titlepage}
%\maketitle

  \thispagestyle{empty}

  \begin{center}
    
    {\LARGE documentation of the \textsc{Bismon} static source code analyzer.}

  \end{center}

  \medskip

  \begin{quote}

\begin{relsize}{-0.5}
    This report and the \emph{Bismon} static analyzer has been funded
    by European H2020 projects
    \href{http://www.chariotproject.eu}{\textbf{\texttt{www.chariotproject.eu}}}
    (grant 780075) and
    \href{http://www.decoder-project.eu}{\textbf{\texttt{www.decoder-project.eu}}} (grant 824231).

    The opinions are those of the author(s) only. The content of the publication
      herein is the sole responsibility of the publishers and it does
      not necessarily represent the views expressed by the European
      Commission or its services.
\end{relsize}

\medskip

%\hline

%\medskip

\textbf{author}: 
   \begin{minipage}{8cm}\smallskip 
     Basile \textsc{Starynkevitch} (CEA, LIST) ~ {\relsize{-1.5}{DILS/LSL}} \\
     {\relsize{-1.5}{from its \textsc{Software Security Laboratory}}} \\
     {\relsize{-1}{\bmemail{basile.starynkevitch@cea.fr}}} \\
     {\relsize{-1}{\bmurl{http://starynkevitch.net/Basile/}}} \\
     \smallskip
   \end{minipage}
   
\medskip

  \end{quote}
  
  
%-  \begin{relsize}{-0.1}
%-  \subsection*{Document Summary Information}
%-    \begin{tabular}{|l|l|l|l|}
%-      \hline 
%-    \textbf{Grant Agreement} & 780075 & \textbf{Acronym} & \textsc{Chariot} \\
%-    \hline 
%-      {\textbf{Full title}} & %
%-      \multicolumn{3}{l|}{\textbf{\relsize{+0.5}{C}}ognitive \textbf{\relsize{+0.5}{H}}eterogeneous \textbf{\relsize{+0.5}{A}}rchitecture for Industrial {\relsize{+0.5}{\textbf{IoT}}}}  \\
%-      \hline
%-      \textbf{Start date} & 01/01/2018 & \textbf{Duration} & 36 months \\
%-      \hline
%-    \textbf{Project URL} & \multicolumn{3}{l|}{{\large \href{http://www.chariotproject.eu}{\textbf{\texttt{www.chariotproject.eu}}}}} \\
%-      \hline
%-    \textbf{Deliverable} & \multicolumn{3}{p{9.5cm}|}{{\textbf{D1.3} Specialized Static Analysis tools for more secure and safer IoT software development.}} \\
%-      \hline
%-    \textbf{Workpackage} & \multicolumn{3}{l|}{\textbf{WP1}} \\
%-      \hline
%-    \textbf{Dissemination level} & \multicolumn{3}{l|}{\textbf{Public report} {\large {[DRAFT]}}} \\
%-      \hline
%-    \textbf{Contractual due date} & {31/06/2020} (M30) & \textbf{Actual submission date} & - \\
%-      \hline
%-    \textbf{Nature} & R {\small (report)} & \textbf{dissemination level} & PU  {\small (public)} \\
%-      \hline
%-   \textbf{Lead beneficiary} & \multicolumn{3}{l|}{CEA, LIST} \\
%-   \hline
%-   \textbf{Responsible author} & \multicolumn{3}{l|}{%
%-     \begin{minipage}{8cm}\smallskip 
%-       Basile \textsc{Starynkevitch} (CEA, LIST) ~ {\relsize{-1.5}{DILS/LSL}} \\
%-       {\relsize{-1.5}{from its \textsc{Software Security Laboratory}}} \\
%-       {\relsize{-1}{\bmemail{basile.starynkevitch@cea.fr}}} \\
%-       {\relsize{-1}{\bmurl{http://starynkevitch.net/Basile/}}} \\
%-       \smallskip
%-     \end{minipage}}
%-  \\
%-    \hline
%-    \textbf{Contributions from} &\multicolumn{3}{l|}{ - }
%-    \\
%-      \hline
%-    \textbf{Revision} &\multicolumn{3}{p{9cm}|}{git commit \texttt{\bmgitcommit} on \textit{\bmgitdate}} \\
%-      \hline 
%-    {\emph{{\LaTeX}-generated}} &\multicolumn{3}{p{9cm}|}{{\scriptsize\textit{\bmdoctimestamp}}} \\
%-      \hline
%-    {{\relsize{-1}{\emph{draft downloadable from}}}} &\multicolumn{3}{p{12cm}|}{{\relsize{-0.5}{\bmurl{http://starynkevitch.net/Basile/bismon-doc.pdf}}}} \\
%-      \hline
%-  \end{tabular}
%-  \end{relsize}

\medskip

{\textcolor{red}{\large unverified, unapproved, unchecked draft \textbf{Ful of Mistaks}}}.

\medskip

Some version of this \textbf{DRAFT} report might be downloadable from {\bmurl{http://starynkevitch.net/Basile/bismon-doc.pdf}}

  
This partly generated document and the \emph{Bismon} software itself
are co-developed in an agile and incremental manner, and have exactly
{\bmgitnumbercommits} \href{http://git-scm.com/}{\texttt{git}} commits
on \textit{\bmdoctimestamp}. For more, please see
\bmurl{https://github.com/bstarynk/bismon/commits/} for details. These
commits are too many and too fine grained to be considered as
``versions''. Given the agile and continuous workflow, it is
unreasonable, and practically impossible, to identify any formalized
versions.

\begin{relsize}{-0.5}
This document is co-developed with the \emph{Bismon} software itself,
it was typeset using \LaTeX~on Linux and contains some \emph{generated}
documentation~\footnote{The generated parts are clearly identified as
  such, and are extracted from the \emph{Bismon} system.}, mixed with
hand-written text. During development of \texttt{bismon}, the amount
of generated documentation will grow.  The entire history of
\emph{Bismon} (both the software -including its persistent store- and
this document) is available on
\bmurl{https://github.com/bstarynk/bismon/commits} and has, for this
document of commit id \texttt{\bmgitcommit} (done on \emph{\bmgitdate}) generated on
\textit{\bmdocdate}, exactly {\bmgitnumbercommits} commits (or
elementary changes). Since changes on any file in the \texttt{git}
repository can affect this document, no ``version'' is identifiable.
\end{relsize}
\bigskip

For convenience to the reader, here are the last~\footnote{Obtained by the
  \texttt{git log --name-status -3} command running in \emph{bismon}
  top source directory.} three \texttt{git commit}-s:

\begin{relsize}{-2}
  \input{generated/000-lastgitcommits.tex}
\end{relsize}

There is no notion of any identifiable ``version'' in \emph{bismon},
so also in this report. The work is incremental and the development is
agile.

\bigskip

%-  \subsection*{disclaimer}
%-
%-  \begin{center}
%-    \fbox{\parbox{0.92\textwidth}{ \small The content of the publication
%-        herein is the sole responsibility of the publishers and it does
%-        not necessarily represent the views expressed by the European
%-        Commission or its services.
%-
%-        While the information contained in
%-        the documents is believed to be accurate, the authors(s) or any
%-        other participant in the \textsc{Chariot} consortium make no
%-        warranty of any kind with regard to this material including, but
%-        not limited to the implied warranties of merchantability and
%-        fitness for a particular purpose.
%-
%-        Neither the \textsc{Chariot}
%-        Consortium nor any of its members, their officers, employees or
%-        agents shall be responsible or liable in negligence or otherwise
%-        howsoever in respect of any inaccuracy or omission herein.
%-        
%-        Without derogating from the generality of the foregoing neither
%-        the \textsc{Chariot} Consortium nor any of its members, their
%-        officers, employees or agents shall be liable for any direct or
%-        indirect or consequential loss or damage caused by or arising
%-        from any information advice or inaccuracy or omission herein.  }
%-    }
%-  \end{center}

    \smallskip



 \subsection*{copyright message}

 \begin{center}
   \Ovalbox{
     \parbox{0.95\textwidth}{
     \medskip
     
    
       Copyright ~ \textcopyright ~ 2018 - 2021 CEA {\relsize{-0.2}{(Commissariat à
           l'énergie atomique et aux énergies alternatives)}}.

       \bigskip 
         %
     This deliverable contains original unpublished work except where
     clearly indicated otherwise. Acknowledgement of previously
     published material and of the work of others has been made
     through appropriate citation, quotation or
     both. Reproduction is
     authorised provided the source is acknowledged  {\relsize{-0.5}{(see last page for licensing details)}}.
    

     \medskip
     }
     }
 \end{center}

 \smallskip
 

%-    \subsection*{Executive Summary}
%-
%-    This D1.3\textsuperscript{v1} \textsc{Chariot} deliverable is
%-    {\color{red}{(was)}} a first \textbf{draft} -and \emph{preliminary}-
%-    version (at M12) of D1.3\textsuperscript{v2} scheduled at M30 on
%-    ``Specialized Static Analysis tools for more secure and safer IoT
%-    software development''.
%-
%-  But {\color{red}{\textbf{incremental work has begun on
%-        D1.3\textsuperscript{v2} in early 2019}}}, hence the
%-  D1.3\textsuperscript{v2-} in the header.
%-
%-  It describes the \textsc{Chariot} vision on static source code (mostly
%-  of C and C++ code for IoT firmware and application) analysis. It
%-  proposes a \emph{simple} static analysis \emph{framework} leveraging
%-  on the powerful recent \emph{GCC} [cross-]compiler. A \emph{persistent
%-    monitor} (tentatively named \texttt{bismon}) is being designed and
%-  implemented as a GPLv3+ free software for Linux, using
%-  meta-programming techniques (leveraging on experience gained in the
%-  former GCC MELT project) to \emph{generate} GCC plugins, and able to
%-  keep some intermediate results (of compilation or static analysis)
%-  during the entire life of the IoT project, and giving to the IoT
%-  developers (thru a web interface) a whole-program view of the source
%-  code (as digested by the \emph{GCC} cross-compiler) and of its static
%-  analysis properties. That framework is configurable and scriptable by
%-  static analysis experts, hence permitting different IoT projects to
%-  address various concerns, while keeping the usual IoT development
%-  workflow (running as usual their \emph{GCC} cross-compiler on Linux,
%-  with extra plugin-related compilation flags).  The deliverable has
%-  been structured starting from the identification of the software and
%-  tool users and the document expected audience as well as the vision on
%-  specialized source code analysis towards more secure and safer IoT
%-  software development. The report then describes its strong alignment
%-  to adding capabilities to \emph{GCC} as well as the driving principles of the
%-  tools. Data and their persistence character are also described
%-  including mutable and non-mutable values/types while persistence is
%-  considered to start by loading some previous persisted state, usually
%-  dumping its current state before termination and loading the next
%-  state on the next load-up. The framework for static code analysis is
%-  also defined as part of the \emph{GCC} compilation process. The described
%-  work is also analysed in terms of contributing to other free software
%-  projects.
%-
%-  \medskip

\bigskip

\subsection*{notice}

\begin{quote}
\begin{relsize}{-0.5}
This work \index{h2020@\emph{\textsc{h2020}}} is funded (from start of
2018 to end of 2020) thru the \emph{\textsc{Chariot}} project (see its
web site on \bmurl{http://chariotproject.eu/}) which has received
funding from the European Union’s Horizon 2020 research and innovation
programme under the Grant Agreement No 780075. This work is also
\emph{partly} funded -from 2019 to 2021- by the
\href{http://decoder-project.eu/}{\textsc{Decoder}} H2020 project,
under its Grant Agreement 824231.
\end{relsize}
\end{quote}
\medskip



\hspace{2cm}

\end{titlepage}





\newpage

\tableofcontents

\newpage
\listoffigures

\medskip

\listoftables

\newpage

\rfoot{Page \thepage ~ {\relsize{-2}{of \pageref{LastPage}}}}
\newpage


\subsection*{Glossary of terms and abbreviations used}

\smallskip

\begin{tabular}{|c|p{0.7\textwidth}|}
  \hline
  \begin{minipage}{0.15\textwidth}

    \smallskip
    
    \textbf{Abbreviation / Term}

    \smallskip
    
  \end{minipage} & \textbf{Description} \\
  \hline \emph{binutils} \index{binutils@\emph{binutils}} & GNU free software package containing assembler \index{as@\texttt{as}} \texttt{as}, linker \texttt{ld} \index{ld@\texttt{ld}} and other utilities to operate on object files or binary executables, etc... \bmurl{https://www.gnu.org/software/binutils/} \\
  \hline \index{bismon@\texttt{bismon}} \texttt{bismon} & the free software framework and persistent monitor described here ; source repository on \bmurl{http://github.com/bstarynk/bismon/} \\
  \hline \textsc{Clang} \index{clang@\textsc{Clang}} & The Clang open-source project provides a language front-end and tooling infrastructure for languages in the C language family (C, C++, Objective C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project \bmurl{http://clang.llvm.org/} \\
  \hline \textsc{Frama-C} \index{Frama-C@\textsc{Frama-C}} &  a free sofware extensible platform for analysis of C software \bmurl{http://frama-c.com/} \\
  \hline FSF & Free Software Foundation \bmurl{http://fsf.org/} \\
  \hline GCC \index{GCC} & Gnu Compiler Collection \bmurl{http://gcc.gnu.org/} \\
  \hline \textsc{Gcc Melt} \index{MELT@\textsc{Melt}} \index{GCC MELT@\textsc{Gcc Melt}} & was a (GPLv3+-licensed) GCC plugin and framework providing a DSL \index{DSL} to ease GCC extensions ; it is archived on \bmurl{http://starynkevitch.net/Basile/gcc-melt/}\\
  \hline \emph{Generic} \index{generic@\emph{Generic}} & language-independent abstract syntax tree (internal representation) in GCC \\
  \hline Gimple \index{gimple@\emph{Gimple}} & middle-end internal representation in GCC \\
  \hline GPL\index{GPL} & Gnu General Public Licence (a copylefted free software license) \bmurl{https://www.gnu.org/licenses/gpl.html} \\
  \hline IoT \index{IoT} & Internet of Things \\
  \hline \texttt{libonion} \index{libonion@\texttt{libonion}} & an HTTP server library \bmurl{https://www.coralbits.com/libonion/} \\
  \hline LLVM \index{LLVM} & The LLVM Project is an open-source collection of modular and reusable compiler and toolchain technologies \bmurl{http://www.llvm.org/} \\
  \hline MELT \index{MELT} & the Lisp-like domain specific language used in GCC MELT \\
  \hline Persistence \index{persistence} & From Wikipedia~: ``In computer science, \emph{persistence} refers to the characteristic of state that outlives the process that created it. This is achieved in practice by storing the state as data in computer data storage''. \bmurl{https://en.wikipedia.org/wiki/Persistence\_(computer\_science)} \\
  \hline RTL & (register transfer language) back-end internal representation in GCC \\
  \hline static code analysis \index{static code analysis} \index{code analysis} \index{analysis} & (or static program \index{program!analysis} analysis) ``is the analysis of computer software that is performed without actually executing programs, in contrast with dynamic analysis, which is analysis performed on programs while they are executing.'' (from Wikipedia: \bmurl{https://en.wikipedia.org/wiki/Static\_program\_analysis}). In this D1.3\textsuperscript{v1} report, it means static source code analysis, in practice analysis of C or C++ code for IoT fed to the \emph{GCC} compiler. \\
  \hline SSA \index{SSA} & Static Single Assignment (in GCC, a variant of Gimple) \\
  \hline
\end{tabular}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% the chapters
\newpage
\input{intro-bm}

\newpage

\input{datapersist-bm}

\newpage

\input{staticanalys-bm}

\newpage
\input{using-bm}

\newpage
\input{miscwork-bm}

\newpage
\input{conclus-bm}

\newpage
\input{appendix-bm}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\clearpage

%% https://en.wikibooks.org/wiki/LaTeX/Indexing#Adding_index_to_table_of_contents
\addcontentsline{toc}{section}{Index}

\medskip

%\section*{sec Index}

\printindex

\medskip

\clearpage
\addcontentsline{toc}{section}{References}

%\section*{sec References}

\medskip

\bibliography{bismon-biblio}

\begin{flushright}
  \begin{relsize}{-2}
    For books in French, I have provided a \emph{tentative} translation into
    English of their title in brackets.
  \end{relsize}
\end{flushright}

\medskip

\bigskip

\hrule

\bigskip

\subsubsection*{About this document}

\begin{center}
\Ovalbox{
\begin{minipage}{0.9\textwidth}
  \medskip
  \begin{quote}
    % TODO: remove the grey when HeVeA can process this
    %%%%%%%%%%%%%%%%%%%%%%%%%%
    To produce this document, both in PDF {\textcolor{Grey}{and HTML}}
    forms : build \emph{bismon}\footnote{See the
      \href{https://github.com/bstarynk/bismon/blob/master/README.md}{\texttt{README.md}}
      file on \bmurl{https://github.com/bstarynk/bismon/} for building
      instructions.} on your Linux computer, then run \texttt{make
      doc}\footnote{That uses {\LaTeX} and
      \href{http://hevea.inria.fr/}{\emph{HeVeA}}. {\textcolor{Grey}{HTML generation might not work in summer 2019.}} }  or just
    \texttt{make latexdoc} to get only its PDF form.

Feedback and improvements on this document can be suggested by email
(to \bmemail{basile@starynkevitch.net} or
\bmemail{basile.starynkevitch@cea.fr}) or by submitting patches to
\textit{Bismon} thru its \bmurl{https://github.com/bstarynk/bismon}
repository (or directly by email, with your permission to include
it). Notice that this document may contain generated documentation,
and will contain more and more generated parts in the future.
  \end{quote}
\bigskip
\end{minipage}
}
\end{center}

\bigskip

\hrule

\bigskip

\section*{Acknowledgements}

Thanks to my colleague Franck Védrine, to several members of the \textsc{Chariot} consortium who have
proofread this report, and to Niklas Rosencratz (from Sweden, outside
of the consortium) who voluntarily found mistakes in it and proposed,
in the repository on \bmurl{https://github.com/montao/bismon-docker/},
a \texttt{Dockerfile} for \emph{bismon}.

Thanks also to Jérémie Salvucci (France) and Abhishek Chakravarti
(India) for many valuable questions, suggestions, and discussions -in
numerous audioconference (or face to face) exchanges, or in private
emails-, about reflexive persistent systems in general, and more
specifically about \emph{Bismon}. Both did suggest several
improvements to this report and to the \emph{Bismon} software.

\medskip

\hrule 

\medskip

\vspace{2cm}

\bigskip

The CC-BY-SA license below for this (\textsc{Chariot}
D1.3\textsuperscript{v2}) deliverable is required to enable major parts
of this report to be later incorporated into a proper
\emph{bismon} free software documentation. For example, the Debian
Linux distribution has a policy~\footnote{See Debian documentation
  project on \bmurl{https://www.debian.org/doc/ddp} etc...} strongly
recommending a specific set of licenses (notably CC-BY-SA) for
documentation. Using other (deemed proprietary) licenses in free
software documentation is decreasing the future chances of such
documentation being later incorporated in Linux distributions.

\begin{quote}
   \bmincludewidthgraphics{75pt}{CC-BY-SA-4-img}{png}{png} \\
    This entire document
is licensed under the Creative Commons Attribution-ShareAlike 4.0
International License. To view a copy of this license, visit
\bmurl{http://creativecommons.org/licenses/by-sa/4.0/} or send a letter to
Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
\end{quote}

\bigskip

\vspace{2cm}

\bigskip

\hrule 

\medskip

\begin{flushright}
  \begin{relsize}{-1}
    (git commit \texttt{\bmgitcommit}; generated on
    \textit{\bmdoctimestamp})\\
    Some variant of this draft report is
    downloadable from \bmurl{http://starynkevitch.net/Basile/bismon-doc.pdf} and
    elsewhere.
  \end{relsize}
\end{flushright}

\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Local Variables: ;;
%% compile-command: "cd ..; ./build-bismon-doc.sh LaTeX" ;;
%% End: ;;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
