Retour aux intervenants
Thomas Degueule

Thomas Degueule

Researcher

CNRS

Software Ecosystems & Libraries: Evolution, Compatibility, Tooling

Résumé

Modern software development heavily relies on third-party libraries distributed through large software ecosystems. Like any software artifact, libraries continuously evolve to introduce new features, fix bugs, and address security vulnerabilities. Keeping dependencies up to date is therefore essential to benefit from these improvements and avoid technical debt and security risks. As libraries evolve, they may break the contract previously established by introducing syntactic or semantic changes. Such breaking changes often discourage clients from upgrading their dependencies, increasing maintenance costs, raising security concerns, and making future upgrades even harder.

In this talk, we will discuss the central role of software ecosystems and libraries in modern software engineering, and the challenges raised by their inevitable evolution. We will explore API design and usage practices, examine how maintainers evolve their libraries and how frequently breaking changes occur, and present techniques to automatically detect and remediate syntactic and semantic compatibility issues. We will also show how research tools can concretely support practitioners in evolving their libraries and managing their dependencies. Finally, we will highlight research directions for building more sustainable and resilient software ecosystems.

Biographie

I obtained my PhD in Computer Science from the University of Rennes in 2016, where I worked with the DiverSE group at IRISA on leveraging metamodeling techniques for modular and composable software language engineering. From 2017 to 2020, I was a postdoctoral fellow with the SWAT group at Centrum Wiskunde & Informatica (CWI) in Amsterdam, studying how advanced programming paradigms can further contribute to reuse and modularity in software language engineering, while gradually expanding my research toward software evolution and empirical software engineering.

Since 2020, I have been a CNRS research scientist with the Progress group at LaBRI, specializing in software evolution, modularity, and comprehension, with a focus on software ecosystems and libraries. Together with my colleagues, we develop tools that help researchers analyze software systems at scale and support developers in evolving and maintaining their codebases.