From db7f8652b45b411b7766647dd30a3aa46937e3e6 Mon Sep 17 00:00:00 2001 From: Julien Girard <julien.girard2@cea.fr> Date: Thu, 15 Dec 2022 15:07:30 +0100 Subject: [PATCH] [doc] More substantial welcome page, remove unused modules page. --- doc/index.rst | 75 ++++++++++++++++++++++++++++++++++++------------- doc/modules.rst | 9 ------ 2 files changed, 56 insertions(+), 28 deletions(-) delete mode 100644 doc/modules.rst diff --git a/doc/index.rst b/doc/index.rst index f042f05..f1f568d 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,35 +1,72 @@ -.. Caisar documentation master file, created by +.. CAISAR documentation master file, created by sphinx-quickstart on Thu Jun 16 11:14:48 2022. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Welcome to Caisar's documentation! -********************************** +CAISAR documentation +==================== + +.. image:: _static/media/caisar_logo.png + +*Written in november 2022* + +CAISAR is an open-source platform for the Characterization of Artificial +Intelligence Safety And Robustness. +Its expressive modelling language allows the description of +a wide variety of specifications to enforce on a machine learning system. +The specification is then decomposed into subproblems that +are then sent to specialized provers. +CAISAR aims to be component-agnostic: it can model and assess the trustworthiness of an hybrid artificial intelligence systemthat mixes symbolic and data-driven approaches. -CAISAR (Characterizing AI Safety And Robustness) is a platform -under active development at CEA LIST, aiming to provide a -wide range of features to characterize the robustness of -artificial intelligence based software. It is available as a free software under the LGPLV2.1 -license. Code is hosted at -https://git.frama-c.com/pub/caisar. +license. The code is is hosted in our `gitlab instance +<https://git.frama-c.com/pub/caisar>`_. + +Architecture and components +--------------------------- + +CAISAR relies on the `Why3 verification platform <https://why3.lri.fr/>`_ +to provide both the basis of the specification language +(WhyML), and an intermediate representation of logical +formulaes and goals. + +CAISAR supports the verification of multiple machine learning programs. +Neural Network (NN) are handled through the `ONNX exchange format <https://onnx.ai/>`_. +Support Vector Machines (SVM) are supported through an ad-hoc CSV format. +Gradient boosting models and decision trees will soon be +supported. -You may browse the documentation for :ref:`installation` and :ref:`usage`. +Provers +------- +CAISAR heavily relies on external software to provide +answers on proof obligations. Those programs are called +"provers", altough some of them may not directly provide a +logical proof. -Content -======= +The supported provers is as follow: + +* `PyRAT <https://laiser.frama-c.com/laiser-websites/pyrat-website/>`_, + a neural network verifier powered by abstract interpretation (some developers of CAISAR are also working on PyRAT) +* `Marabou <https://github.com/NeuralNetworkVerification/Marabou>`_, a Satisfiability Modulo Theory (SMT) solver specialized in Neural Network verification +* `SAVer <https://github.com/abstract-machine-learning/saver>`_, a tool for verifying reachability properties on SVM +* `nnenum <https://github.com/stanleybak/nnenum>`_ +* "Traditional" SMT solvers that support SMTLIBv2 input + language (including `Alt-Ergo <https://alt-ergo.ocamlpro.com/>`_, `Z3 <https://github.com/Z3Prover/z3/wiki>`_, `Colibri <https://colibri.frama-c.com/>`_) + +If you would like for CAISAR to support a tool you are +developping, please reach out so we can discuss about it! + +Browse the documentation +------------------------ + +Installation instructions for CAISAR are available at :ref:`installation`. +A description of core usage is available at :ref:`usage`. +Finally, we provide some :ref:`examples` as well. .. toctree:: :maxdepth: 3 - :caption: Contents installation usage examples - - -.. - Indices and tables - ================== - * :ref:`search` diff --git a/doc/modules.rst b/doc/modules.rst deleted file mode 100644 index 06a4e80..0000000 --- a/doc/modules.rst +++ /dev/null @@ -1,9 +0,0 @@ -API documentation -================= - -To be generated with odoc. - -.. toctree:: - :maxdepth: 4 - - nier_cfg -- GitLab