Incremental, Reproducible Builds of Software Variants

Type de soutenance
Thèse
Date de début
Date de fin
Lieu
IRISA Rennes
Salle
Grand amphi
Orateur
Georges Aaron RANDRIANAINA (DIVERSE)
Département principal
Sujet

Building software in the context of highly configurable systems has become an
increasingly complex and resource-intensive task, especially as modern
development practices rely heavily on Continuous Integration (CI). With the
prolif- eration of configuration options, spanning from conditional compilation
directives to external dependencies, ensuring that software variants build
correctly and efficiently has emerged as a major challenge. While clean builds
remain the standard practice, they are often inefficient when repeated across
numerous configurations. This dissertation investigates the feasibility,
benefits, and limitations of incremental build of software configurations. A
strategy that reuses artifacts from previous builds to accelerate subsequent
ones.

Through a series of empirical studies involving real-world systems (Linux,
Busybox, Toybox, x264, xz, curl, sqlite, and more…), this work demonstrates that
incremental builds can significantly reduce build times, with gains of up to 66%
in certain scenarios. We explore two practical applications: reducing the total
cost of building fixed sets of configurations and accelerating the exploration
of large configuration spaces. However, we also identify challenges, such as the
risk of incorrect builds and the difficulty of ensuring reproducibility when
reusing artifacts. To address these issues, we introduce methods to detect and
fix non-reproducible configurations and propose PyroBuildS, a new technique that
controls configuration diversity using deny lists and variation operators.
PyroBuildS enables efficient and reproducible incremental builds, achieving time
reductions between 16% and 22% across several configurable systems.

This dissertation is the very first to address incremental build of software
configurations and provides new insights into how build systems can be made
more efficient and reliable in the presence of configuration variability, opening
up promising directions for future research and tooling in software engineering.

 

A drinks reception will be held in the SEIN room.

Composition du jury
Reviewers:
- David Benavides : Full Professor, Universidad de Sevilla, Spain
- Thomas Thüm : Full Professor, TU Braunschweig, Germany

Examiners:
- Mireille Blay-Fornarino : Full Professor, University of Nice, France
- Sarah Nadi : Associate Professor, NYU Abu Dhabi, United Arab Emirates
- Stefano Zacchiroli : Full Professor, Télécom Paris, France

Supervisors:
- Mathieu Acher : Full Professor, INSA Rennes, France
- Djamel-Eddine Khelladi : Chargé de Recherche, CNRS, France
- Olivier Zendra : Chargé de Recherche, Inria, France