Activez les alertes d’offres d’emploi par e-mail !

Temporary scientific engineer / Software engineering / Algorithmics, Computer Algebra, Verifica[...]

European Commission

France

Sur place

EUR 60 000 - 80 000

Plein temps

Il y a 26 jours

Résumé du poste

Un organisme de recherche en France recherche un ingénieur pour améliorer le langage Capla. Vous travaillerez sur la vérification formelle et l'optimisation de l'expérience utilisateur avec un projet ambitieux. Ce poste est idéal pour ceux passionnés par la programmation et les compilateurs.

Prestations

Remboursement partiel des frais de transport public
7 semaines de congés annuels + 10 jours RTT
Possibilité de télétravail (90 jours/an)
Equipement professionnel disponible
Accès à des formations professionnelles
Assurance santé complémentaire

Qualifications

  • Maîtrise de la programmation OCaml ou d'un langage similaire exigée.
  • Expérience souhaitée avec les compilateurs.
  • Connaissances sur Rocq très appréciées.

Responsabilités

  • Améliorer l'expérience utilisateur du langage Capla et de son compilateur.
  • Implémenter des bibliothèques Capla pour un système d'algèbre computationnelle.
  • Travailler avec le senior researcher Guillaume Melquiond.

Connaissances

Programmation OCaml
Compétences en vérification formelle
Compétences en programmation

Description du poste

Inria, the French national research institute for the digital sciences

Organisation/Company Inria, the French national research institute for the digital sciences Research Field Computer science Researcher Profile Recognised Researcher (R2) Leading Researcher (R4) First Stage Researcher (R1) Established Researcher (R3) Country France Application Deadline 10 Aug 2025 - 00:00 (UTC) Type of Contract Temporary Job Status Full-time Hours Per Week 38.5 Offer Starting Date 1 Nov 2025 Is the job funded through the EU Research Framework Programme? Horizon 2020 Reference Number 2025-09118 Is the Job related to staff position within a Research Infrastructure? No

Offer Description

One of the long-term goals of the ERC projectFresco 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 ofCapla , 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.

The overall objective of this engineer position is to improve the user experience of theCapla 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.

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 proofsystem, 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.

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.

Specific Requirements

The candidate should enjoy programming and be ready to dive into the inner workings of compilers and proof assistants.

Languages FRENCH Level Basic

Languages ENGLISH Level Good

Additional Information
  • 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 insuranceunder conditions

From 2,692 € (depending on experience and qualifications).

Selection process

Applications must be submitted online on the Inria website.

Processing of applications sent by other channels is not guaranteed.

Obtenez votre examen gratuit et confidentiel de votre CV.
ou faites glisser et déposez un fichier PDF, DOC, DOCX, ODT ou PAGES jusqu’à 5 Mo.