Research and Development Engineer (M/F), Formal Verification of Rust Programs

Type de contrat : Fixed-term contract

Contrat renouvelable : Oui

Niveau de diplôme exigé : Graduate degree or equivalent

Autre diplôme apprécié : PhD Thesis in Computer Science

Fonction : Temporary scientific engineer

Niveau d'expérience souhaité : Up to 3 years

A propos du centre ou de la direction fonctionnelle

The Inria Saclay-Île-de-France Research Centre was established in 2008. It has developed as part of the Saclay site in partnership with Paris-Saclay University and with the Institut Polytechnique de Paris .

The centre has 39 project teams , 27 of which operate jointly with Paris-Saclay University and the Institut Polytechnique de Paris; Its activities occupy over 600 people, scientists and research and innovation support staff, including 44 different nationalities.

Contexte et atouts du poste


This job is proposed in the context of the Décysif project
(https://decysif.fr/), a collaborative project aiming at applying
formal methods to the development of high-assurance software that are
critical for safety and security. This project gathers the Inria
project-team Toccata (https://toccata.gitlabpages.inria.fr/toccata/)
and industrial partners located in Paris: TrustInSoft, AdaCore and
OCamlPro. The general objective is to contribute to the activities of
formal verification performed by these partners, those conducted
around the verification of programs in Ada, C, C++ and Rust, with
techniques using the proof tools developed by the Toccata team, in
particular Why3.

The work will be carried out mainly in the Toccata team location in
Gif-sur-Yvette and partly in the partner company offices in
Paris. Travel expenses are covered within the limits of the scale in
force.

Mission confiée


In direct collaboration with the Why3 developers at Toccata and with
the research engineers at the industrial partners, the person
recruited will have to work on the maturation of the Creusot prototype
(https://github.com/xldenis/creusot) dedicated to formal verification
of Rust programs. This prototype comes from a doctoral thesis and must
be improved to be able to be applied to industrial case studies. The
objectives concern, among other things, the extension of the supported
Rust fragment, the need to complete specifications of Rust libraries,
the improvement of the usability of the graphical user interface, the
increase of the rate of proof automation, to set up methods to help
proof (such as the generation of counterexamples in case of proof
failure), to strengthen the robustness and reproducibility of proofs.

Principales activités


Software development in Rust and OCaml, development of
library specifications in Why3 and Rust, use of
external SMT solvers, software experimentation, writing
documentation, contribution to the writing of scientific articles.

Compétences


We seek for candidates with as much experience and skills as possible
in several domains among : development using the OCaml language ;
development using the Rust language ; techniques for evaluation,
compilation and/or transformation of programs ; formal methods for
software engineering ; formal logics ; static analysis of programs ;
computer-assisted theorem proving ; use of formal proof environments.

A level of English at least in writing is required. In oral English or
French must be sufficiently mastered.

Avantages

  • Subsidized meals
  • Partial reimbursement of public transport costs
  • Leave: 7 weeks of annual leave + 10 extra days off due to RTT (statutory reduction in working hours) + possibility of exceptional leave (sick children, moving home, etc.)
  • Possibility of teleworking (after 6 months of employment) and flexible organization of working hours
  • Professional equipment available (videoconferencing, loan of computer equipment, etc.)
  • Social, cultural and sports events and activities
  • Access to vocational training
  • Social security coverage

Rémunération

Remuneration in regards to professional experience