Litcius/Paper detail

The Evolution of the Linux Build System

Bram Adams, Kris De Schutter, Herman Tromp, Wolfgang De Meuter

2024VUBIR (Vrije Universiteit Brussel)83 citationsDOIOpen Access PDF

Abstract

Software evolution entails more than just redesigning and reimplementing functionality of, fixing bugs in, or adding new features to source code. These evolutionary forces induce similar changes on the software's build system too, with far-reaching consequences on both overall developer productivity as well as software configurability. In this paper we take a look at this phenomenon in the Linux kernel from its inception up until present day. We do this by analysing the kernel's build traces with MAKAO, our re(verse)-engineering framework for build systems. This helps us in detecting interesting idioms and patterns in the dynamic build behaviour. Finding a good balance between obtaining a fast, correct build system and migrating in a stepwise fashion turns out to be the general theme throughout the evolution of the Linux build system.

Topics & Concepts

Linux kernelComputer scienceSoftware evolutionOperating systemSoftwareTheme (computing)Software engineeringKernel (algebra)Software systemMinimalism (technical communication)Code (set theory)Programming languageSoftware constructionHuman–computer interactionCombinatoricsMathematicsSet (abstract data type)Advanced Software Engineering MethodologiesSoftware Engineering ResearchSoftware System Performance and Reliability
The Evolution of the Linux Build System | Litcius