Moteur de recherche d'offres d'emploi CEA

Graphical User Interface for artificial intelligence verification tool H/F

Vacancy details

General information


The French Alternative Energies and Atomic Energy Commission (CEA) is a key player in research, development and innovation in four main areas :
• defence and security,
• nuclear energy (fission and fusion),
• technological research for industry,
• fundamental research in the physical sciences and life sciences.

Drawing on its widely acknowledged expertise, and thanks to its 16000 technicians, engineers, researchers and staff, the CEA actively participates in collaborative projects with a large number of academic and industrial partners.

The CEA is established in ten centers spread throughout France



Description de l'unité

Among other activities, CEA List's Software Safety and Security
Laboratory (LSL) research teams design and implement automated
analysis in order to make software systems more trustworthy, to
exhaustively detect their vulnerabilities, to guarantee conformity to
their specifications, and to accelerate their certification. Recently the field of activity of the laboratory has been extended to artificial intelligence safety and security verification. In particular, PyRAT and CAISAR are two tools developed in that context to verify safety properties on neural networks using abstract interpretation techniques.

Position description


Information system



Job title

Graphical User Interface for artificial intelligence verification tool H/F


The aim of this internship is to develop a graphical user interface for the PyRAT tool which serves to verify artificial intelligence based components.

Contract duration (months)


Job description

PyRAT is a tool that leverages the principles of abstract interpretation to propagate abstract domains (input) through abstract operations representing the layers of the neural network and in order to assess the reachable states (output). In comparison to classical software verification, PyRAT works directly on the weights, biases, and parameters of a neural network model thus making PyRAT lighter and faster to use for neural network analyses.
PyRAT is developed in Python as it is a widely used language for neural network frameworks such as Keras, Pytorch or Tensorflow. As of now, the primary use of PyRAT is to assess robustness w.r.t. some perturbation around inputs on small neural networks. However, on larger neural networks or on larger inputs a simple pass with PyRAT will lack precision.

To compensate the loss of precision in such cases, we introduced a domain splitting approach inside PyRAT. This iterative approach splits the input domain into smaller ones until PyRAT can prove the property on them or find a counterexample. This also allows to use PyRAT to also prove some safety properties, i.e. bigger intervals of input on certain neural networks.

The aim of this internship is to start the implementation of GUI for PyRAT web-based technology based on java/typescript. Indeed as PyRAT develops, more and more functionalities are emerging and command line is starting to get crowded. A GUI will allow a user to use the tool functionalities and option more easily. The addition of visualisation function should allow a user to visualize the status of the propagation through the network and the currents values/imprecision at each point of the neural network. Visualising the results and comparing different heuristics for the domain splitting approach or of different domains on the network should help the user precise his analysis as well as helping us improve our tool precision in specific situations.

Methods / Means

Python, web-based GUI technology, Tensorflow/Pytorch

Position location



Job location

France, Ile-de-France, Essonne (91)



Candidate criteria


  • English (Intermediate)
  • French (Intermediate)

Prepared diploma

Bac+5 - Master 2

PhD opportunity



Position start date