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

Inria Villeneuve d'Ascq Villeneuve d'Ascq, France
Postdoctoral Software History Machine Learning 28 days left

About the position

Context 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. Assignment 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 Main activities 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) Skills 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

This listing was collected from a public source and is reproduced here for information only. Always confirm the details on the original posting before applying.
View the original posting

Similar positions