Research and Development Engineer in Formal Methods

Inria

Valbonne, Nice, Montpellier

Sur place

EUR 27 338 - 32 746

Plein temps

14 jours+

Recevez plus de réponses des employeurs

Envoyez un CV adapté au poste en quelques minutes.

Résumé du poste

Inria Côte d’Azur invites applications for a Research and Development Engineer in Formal Methods. The role focuses on extending and improving formal verification toolchains like EasyCrypt, Jasmin, and maskVerif, with emphasis on the Jasmin compiler and its Rocq/Coq formal model.

You will work across research teams within a European consortium, contributing high-quality, open-source software. Candidates should have a graduate degree or PhD with strong background in functional programming (OCaml),

Qualifications

  • Graduate degree or equivalent; Doctorat valued.
  • Strong background in functional programming and OCaml.
  • Experience with a proof assistant, particularly Rocq/Coq; strong preference.
  • Familiarity with formal methods and verification frameworks (EasyCrypt, maskVerif).
  • Knowledge of hardware security, side-channel attacks, and masking techniques is desirable.

Responsabilités

  • Extend and improve the reliability of the formal verification tools.
  • Extend proof languages and program logics to support constructs from systems programming languages.
  • Share hardware architecture descriptions across the consortium's tools.
  • Strengthen automated verification capabilities for masking countermeasures.
  • Design, implement, and validate robust software components; improve tooling.

Connaissances

OCaml
Programming language theory
Rocq/Coq
Formal methods
Hardware security
Low-level programming

Formation

Graduate degree
PhD

Outils

EasyCrypt
Jasmin
maskVerif
Assembly language

Description du poste

Research and Development Engineer in Formal Methods

Level of qualifications required : Graduate degree or equivalent

Other valued qualifications : Doctorat

Fonction : Temporary scientific engineer

About the research centre or Inria department

Inria is the French National Institute for Research in Digital Science, of which the Inria Côte d'Azur University Center is a part. With strong expertise in computer science and applied mathematics, the research projects of the Inria Côte d'Azur University Center cover all aspects of digital science and technology and generate innovation. Based mainly in Sophia Antipolis, but also in Nice and Montpellier, it brings together 47 research teams and nine support services. It is active in the fields of artificial intelligence, data science, IT system security, robotics, network engineering, natural risk prevention, ecological transition, digital biology, computational neuroscience, health data, and more. The Inria Center at Université Côte d'Azur is a major player in terms of scientific excellence, thanks to the results it has achieved and its collaborations at both European and international level.

Context

This position is part of the FORMASK project, carried out within a consortium bringing together Inria, PQShield, and CryptoExperts, and supported by the Programme de Transfert au Campus Cyber (PTCC).

FORMASK aims to strengthen the security of cryptographic implementations against side-channel attacks (power consumption, electromagnetic radiation, execution time). Masking is currently one of the most effective software countermeasures, but implementing it correctly remains challenging. The project's goal is to develop an open, industrial-grade formal verification toolchain that guarantees both the functional correctness and the physical attack resistance of masked cryptographic implementations.

The successful candidate will primarily contribute to the development and extension of the consortium's formal verification tools (the EasyCrypt, Jasmin, and maskVerif frameworks), which form the core technical infrastructure of the project. A significant part of the work will focus on the Jasmin compiler (a low-level language for high-assurance cryptography whose semantics are formalized in Rocq/Coq): extending its formal model, sharing architecture descriptions with EasyCrypt, and improving the associated verification toolchains. This is a highly technical software engineering position at the intersection of programming languages, compiler construction, and formal methods, with developments released as open-source software.

Occasional travel (monthly consortium meetings and seminars) is expected. Travel expenses will be reimbursed in accordance with the applicable reimbursement policy.

Assignment

Main responsibilities:

With the support of the project team and under the supervision of Benjamin Grégoire, the successful candidate will be responsible for extending and improving the reliability of the formal verification tools developed within FORMASK. This includes extending proof languages and program logics to support constructs from systems programming languages, sharing hardware architecture descriptions across the consortium's tools, and strengthening the automated verification capabilities for masking countermeasures.

Learning resources:

A literature review and key scientific references (EasyCrypt, Jasmin, maskVerif, SNI/PINI security properties) will be provided to the successful candidate. These resources are also available through the team's website and the consortium's publications.

The successful candidate will work closely with researchers and engineers from all three consortium partners, including the authors and maintainers of EasyCrypt and Jasmin, contributing to the continued development and consolidation of these tools.

Ownership:

The successful candidate will be responsible for designing, implementing, and validating robust and maintainable software components, while proactively improving the reliability, consistency, and reusability of the resulting tooling.

Technical leadership:

The successful candidate will independently manage the technical follow-up of their developments, ensure proper documentation, and integrate their contributions into the consortium's shared repositories.

Main activities
  • Design and implement extensions to programming languages and program logics within proof assistants.
  • Develop compilation and translation components between multiple representations (source languages, intermediate representations, and architecture descriptions).
  • Strengthen automated verification tools for the security properties of masked implementations.
  • Test, validate, document, and integrate developments into the project's open-source repositories.
  • Present progress and technical results to the consortium partners.

Additional activities:

  • Contribute to the maintenance and overall robustness of the shared tooling.
  • Participate in the dissemination of project results (public documentation, project website).
  • Engage with the user community of the project's tools.
Skills
  • Strong background in functional programming, ideally using OCaml (the implementation language of EasyCrypt and Jasmin). Required.
  • Solid knowledge of programming language theory, including semantics, type systems, language design, or compiler construction. Required.
  • Experience with a proof assistant, particularly Rocq/Coq (the semantics of the Jasmin compiler are formalized in Rocq/Coq). Strongly preferred.
  • Familiarity with formal methods and verification frameworks (EasyCrypt, maskVerif). Required or strongly preferred.
  • Knowledge of hardware security, side-channel attacks, and masking techniques. Desirable (training can be provided on the job).
  • Familiarity with low-level programming (assembly language, instruction set architectures). A plus.

Languages: French or English (reading scientific literature and collaborating within an international consortium). Required.

Interpersonal skills: autonomy, attention to detail, ability to collaborate with distributed teams, and strong technical communication skills.

Additional desirable qualifications: contributions to open-source projects, experience developing research software, publications, or a PhD in a related field.

Remuneration

From 2692 € gross monthly (according to degree and experience)

  • Theme/Domain : Security and Confidentiality
    Software engineering (BAP E)
Instruction to apply

Defence Security : This position is likely to be situated in a restricted area (ZRR), as defined in Decree No. 2011-1425 relating to the protection of national scientific and technical potential (PPST). Authorisation to enter an area is granted by the director of the unit, following a favourable Ministerial decision, as defined in the decree of 3 July 2012 relating to the PPST. An unfavourable Ministerial decision in respect of a position situated in a ZRR would result in the cancellation of the appointment.

Recruitment Policy : As part of its diversity policy, all Inria positions are accessible to people with disabilities.

We are looking for an experienced R&D engineer who is equally comfortable with high-quality software engineering and research-oriented development. The ideal candidate enjoys working with complex codebases, designing reliable and well-structured tools, and continuously learning in a scientifically demanding environment. Rigor, autonomy, curiosity, and the ability to collaborate effectively within a multidisciplinary consortium are essential. A PhD in a related field (formal methods, programming languages, cryptography, or compiler construction) is a strong asset but is not required.

Obtenez votre examen gratuit et confidentiel de votre CV.
ou faites glisser et déposez votre fichier ici.
Similar jobs

Postes similaires à comparer

Research and Development Engineer in Formal Methods
Research and Development Engineer in Formal Methods

Inria • Paris

Sur place
Partial reimbursement of public travel
Leave: 7 weeks annual leave + RTT days
Teleworking after 6 months
+4
Ingénieur·e de recherche et développement en méthodes formelles
Ingénieur·e de recherche et développement en méthodes formelles

Inria • Valbonne, Nice, Montpellier

Sur place
Restauration subventionnée
Transports publics remboursés
Congés annuels généreux + RTT
+2
Ingénieur·e de recherche et développement en méthodes formelles
Ingénieur·e de recherche et développement en méthodes formelles

Inria • Paris

Sur place
Restauration subventionnée
Transports publics remboursés
Télétravail après 6 mois d’ancienneté
+1
Research Engineer Position - Java Developer - Corese Library
Research Engineer Position - Java Developer - Corese Library

Inria • France

Sur place
EUR 2 000 - 55 000
Partial reimbursement of public transport costs
7 weeks of annual leave
Possibility of teleworking
+2
R&D Engineer: Formal Methods for Secure Cryptography
R&D Engineer: Formal Methods for Secure Cryptography

Inria • Valbonne, Nice, Montpellier

Sur place
Research engineer / Static analysis of OCaml programs
Research engineer / Static analysis of OCaml programs

Inria • Rennes

Sur place
EUR 45 000 - 70 000
Partial reimbursement of public transport costs
7 weeks annual leave + 10 extra days RTT
Possibility of teleworking after 6 months
+3
Confirmed Software Development Engineer M/F SLICES-FR
Confirmed Software Development Engineer M/F SLICES-FR

Inria • Grenoble

Hybride
Partial reimbursement of public transport costs
7 weeks of annual leave plus additional days
Possibility of teleworking
+2
Formal Modeling of Clock Glitch Attacks for Security Verification of Processors H/F
Formal Modeling of Clock Glitch Attacks for Security Verification of Processors H/F

CEA • Grenoble

Sur place
EUR 36 000 - 45 000
Ingénieur R&D en Méthodes Formelles — Vérification Avancée
Ingénieur R&D en Méthodes Formelles — Vérification Avancée

Inria • Valbonne, Nice, Montpellier

Sur place
Restauration subventionnée
Transports publics remboursés
Congés annuels généreux + RTT
+2
Design of metasurfaces for terahertz and infrared applications
Design of metasurfaces for terahertz and infrared applications

Inria • France

Sur place
EUR 27 000 - 33 000
Teleworking option
Leave: generous vacation and RTT days
Professional equipment available
+1