Temporary scientific engineer / Software engineering / Algorithmics, Computer Algebra, Verification / Graduate degree or equivalent F/M
Type de contrat : CDD
Niveau de diplôme exigé : Bac + 5 ou équivalent
Fonction : Ingénieur scientifique contractuel
A propos du centre ou de la direction fonctionnelle
The Inria research centre in Lyon (previously the Lyon branch of the Inria centre in Grenoble) is the 9th Inria research centre, formally created in December 2021. It brings together approximately 270 people (including 110 Inria employees) in 15 research teams and research support services.
Its staff are distributed at this stage on 2 campuses: in Villeurbanne La Doua (Centre / INSA Lyon / UCBL) on the one hand, and Lyon Gerland (ENS de Lyon) on the other. A third site should be opened in the course of 2022. The teams are mainly hosted with our partners. The centre's teams work closely with research and higher education institutions (ENS de Lyon, UCBL, INSA Lyon, etc.), their laboratories, and other research organisations in Lyon (CNRS, INRAE, competitiveness clusters, etc.), but also with Lyon and regional economic players. Many international collaborations are also underway.
The Lyon centre is active in the fields of software, distributed and high-performance computing, embedded systems, quantum computing and privacy in the digital world, but also in digital health and computational biology.
Contexte et atouts du poste
One of the long-term goals of the ERC project Fresco is to turn the Rocq proof assistant into a competitive tool for doing verified computer algebra. In particular, this requires the ability to implement and formally verify well-known libraries such as GMP or BLAS/LAPACK. A significant milestone was the design of Capla, a safe low-level imperative language suitable for implementing such algorithms, as well as the development of a formally verified compiler for this language.
It is now possible to write a library using Capla, to compile it to machine code, to verify its correctness using Rocq, and to invoke its functions from C code. But to turn the Rocq proof assistant into a usable computer algebra system, one should also be able to define such Capla functions inside a Rocq script. Moreover, the user experience should be improved by having better runtime error reporting as well as debugging features.
This position will take place at the LIP Computer Science laboratory of ÉNS Lyon, in the Inria team Pascaline, which aims at advancing the fields of computer arithmetic and computer algebra, with a strong accent on formal verification. The position will last up to 24 months or until the end of the Fresco project (currently set to end on 2026-10-31), whichever comes first. The starting date is negotiable.
Mission confiée
The overall objective of this engineer position is to improve the user experience of the Capla language and its compiler, especially when used in conjunction with the Rocq proof assistant, and to exercise it on several use cases.
The recruited person will work in collaboration with Guillaume Melquiond, a senior researcher at Inria.
Principales activités
The first objective of this engineer position is to make it possible to write, compile, and dynamically link a Capla function, without having to leave the confines of the proof assistant. This requires to tackle several challenges:
- devise a quotation mechanism to embed some Capla code inside a Rocq proof script;
- implement some Rocq commands to invoke the Capla compiler to produce both the compiled code (which is then to be linked it into the proof system) and the Rocq term that represents the source Capla function.
The second objective is to make the use of Capla more effective, both inside and outside the proof system:
- offer some syntax highlighting and improve error reporting;
- offer some basic debugging facilities, especially inside the proof system;
- reduce the distance that might exist between the Capla code, as written by the user, and its abstract syntax tree inside the proof system, as seen by the user when doing a proof.
Finally, to exercise the language and the environment around it, the third objective is to implement some Capla libraries (but not formally prove them, unless the engineer comes with a suitable background) that would be useful in the setting of a computer algebra system. Some potential targets are
- arbitrary precision integer arithmetic,
- algebraic structures over specific finite fields,
- preconditioners/oracles for reliable numerical computations.
Compétences
Knowledge of the OCaml programming language or a related language is mandatory. Knowledge of the inner workings of compilers is recommended. Knowledge of the Rocq proof assistant is not required, but it would be very valuable. Knowledge of French is not required.
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 (90 days / year) 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
- Complementary health insurance under conditions
Rémunération
From 2,692 € (depending on experience and qualifications).
Informations générales
- Thème/Domaine :
Algorithmique, calcul formel et cryptologie
Ingénierie logicielle (BAP E) - Ville : Lyon
- Centre Inria : Centre Inria de Lyon
- Date de prise de fonction souhaitée : 2025-11-01
- Durée de contrat : 12 mois
- Date limite pour postuler : 2025-08-10
Attention: Les candidatures doivent être déposées en ligne sur le site Inria. Le traitement des candidatures adressées par d'autres canaux n'est pas garanti.
Consignes pour postuler
Applications must be submitted online on the Inria website.
Processing of applications sent by other channels is not guaranteed.
Sécurité défense :
Ce poste est susceptible d’être affecté dans une zone à régime restrictif (ZRR), telle que définie dans le décret n°2011-1425 relatif à la protection du potentiel scientifique et technique de la nation (PPST). L’autorisation d’accès à une zone est délivrée par le chef d’établissement, après avis ministériel favorable, tel que défini dans l’arrêté du 03 juillet 2012, relatif à la PPST. Un avis ministériel défavorable pour un poste affecté dans une ZRR aurait pour conséquence l’annulation du recrutement.
Politique de recrutement :
Dans le cadre de sa politique diversité, tous les postes Inria sont accessibles aux personnes en situation de handicap.
Contacts
- Équipe Inria : PASCALINE
-
Recruteur :
Melquiond Guillaume / Guillaume.Melquiond@inria.fr
L'essentiel pour réussir
The candidate should enjoy programming and be ready to dive into the inner workings of compilers and proof assistants.
A propos d'Inria
Inria est l’institut national de recherche dédié aux sciences et technologies du numérique. Il emploie 2600 personnes. Ses 215 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3900 scientifiques pour relever les défis du numérique, souvent à l’interface d’autres disciplines. L’institut fait appel à de nombreux talents dans plus d’une quarantaine de métiers différents. 900 personnels d’appui à la recherche et à l’innovation contribuent à faire émerger et grandir des projets scientifiques ou entrepreneuriaux qui impactent le monde. Inria travaille avec de nombreuses entreprises et a accompagné la création de plus de 200 start-up. L'institut s'efforce ainsi de répondre aux enjeux de la transformation numérique de la science, de la société et de l'économie.