Recrutement INRIA

Post-Doctoral Research Visit F - M Postdoctoral Researcher - Source Code History Analysis H/F - INRIA

  • Villeneuve-d'Ascq - 59
  • CDD
  • INRIA
Publié le 23 septembre 2026
Postuler sur le site du recruteur

Les missions du poste

A propos d'Inria

Inria, l'institut national de recherche dans les sciences et technologies du numérique, est en appui de l'État pour les stratégies nationales de recherche et d'innovation du numérique en tant qu'Agence de programmes. Inria mène plus de 300 projets de recherche et d'innovation avec ses 3500 scientifiques, ingénieurs et personnels d'appui, en partenariat avec les universités et l'écosystème numérique (entreprises, entrepreneurs, acteurs publics). Ensemble, nous explorons des domaines clés comme l'intelligence artificielle, la cybersécurité, l'informatique quantique, le Cloud, la transformation numérique de la santé, les jumeaux numériques ou encore les technologies numériques pour la défense. Nous construisons des solutions concrètes telles que des logiciels, des startups technologiques, des partenariats avec les entreprises du tissu national et des formations de pointe. Notre objectif : l'impact scientifique, technologique et industriel au service de la souveraineté numérique de la France.


Post-Doctoral Research Visit F/M Postdoctoral Researcher - Source Code History Analysis
Le descriptif de l'offre ci-dessous est en Anglais
Type de contrat : CDD

Niveau de diplôme exigé : Thèse ou équivalent

Fonction : Post-Doctorant

Contexte et atouts du poste

The SPIRALS project team conducts research in distributed systems and software science. Our goal is to introduce greater autonomy into software systems' adaptation mechanisms, specifically to support the transition from adaptive to self-adaptive systems. We focus particularly on two properties: self-healing and self-optimization. With self-healing, we aim to study and adapt data mining and machine learning solutions to the design and implementation of software systems, especially for the automatic repair of software systems. With self-optimization, we aim to share, collect, and analyze behaviors in a distributed environment to continuously adapt, optimize, and maintain software systems, moving toward perpetual distributed systems. The Spirals project team works in cloud computing and mobile application development.

Analyzing the history of source code is becoming essential to keep pace with increasingly large and complex software systems - some projects, like Chromium or the Linux kernel, span tens of millions of lines of code and over a million commits. Most existing tools still treat code at the level of individual text files, which limits their ability to scale when changes span many files (e.g., automated refactorings, dependency updates) or when several versions of a codebase must be analyzed together.

This position is part of a research project built around HyperAST, a model that represents source code histories as a directed acyclic graph (DAG) and deduplicates code subtrees within and across versions. This structure makes it possible to pre-compute and reuse intermediate analysis results efficiently, enabling accurate, temporally consistent analyses at a scale current approaches cannot reach.

Mission confiée

- Formalize the TSQ (Tree-sitter Query) language beyond its original syntax-highlighting purpose, turning it into a robust, well-specified intermediate representation for code analysis
- Design and build an incremental code search engine for large repositories on top of TSQ and HyperAST
- Develop incremental use-def / def-use relation computation for large repositories, including a memory-efficient model for persisting partial scope graphs on local syntax subtrees

Principales activités

- Extend incremental code search to the Software Heritage (SWH) archive, adapting the query system into an indexing/search service and integrating HyperAST as an SWH data provider
- Bring def-use / use-def computation to the SWH archive, precomputing unresolved references and persisting the scope-graph elements most relevant to name resolution
- Apply the resulting code search and name resolution infrastructure to concrete problems: multi-repository root-cause analysis, code smell/dependency co-evolution studies, detection of intentional code tampering, and policy mining
- Contribute to supervision (co-supervising master's/PhD students), team activities (seminars, journal clubs), dissemination (publications, open-source releases, conference talks such as FOSDEM), and open-science practices (HAL, Software Heritage, Zenodo, artifact submissions)

Compétences

- Solid background in software engineering / mining software repositories, ideally with prior experience on Git internals, DAG-based data structures, or incremental analysis techniques
- Experience designing and maintaining tools for repository analysis at scale
- Familiarity with version control systems and how they represent history (Git, and ideally awareness of alternatives such as Piper, Sapling, Mercurial)
- Knowledge of program analysis concepts: name resolution, scope graphs, refactoring detection, syntactic/semantic code differencing
- Programming and systems skills sufficient for building query/search infrastructure and integrating with large archives (e.g., Software Heritage)
- Demonstrated record of independent research and publication; some supervision or mentoring experience is a plus

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
Postuler sur le site du recruteur

Parcourir plus d'offres d'emploi