Small Yet Configurable: Unveiling Null Variability in Software
Xhevahire T\"ernava, Georges Aaron Randrianaina, Luc Lesoil, Mathieu Acher

TL;DR
This study empirically explores configurability in small-scale software, revealing significant variability and its growth over time, and introduces the concept of null-variable systems with minimal configurability.
Contribution
It is the first empirical analysis of configurability in small software systems, highlighting variability patterns and proposing the null-variable concept.
Findings
Small programs can have up to 76 compile-time and run-time options.
High correlation (0.78) between run-time variability and codebase size.
Variability tends to increase over time, mainly due to added compile-time options.
Abstract
Many small-scale software systems, that is, with limited codebase or binary size, are widely used in everyday tasks, yet their configurability remains largely unexplored. At the same time, studies on modern software systems show a trend toward increasing configurability, alongside growing interest in building immutable, specialized, and reproducible software. In this paper, we present the first empirical study on the extent of configurability in small-scale software systems. By analyzing 108 programs from GNU coreutils, we show that even small programs can exhibit significant compile-time and run-time variability, with up to 76 options per program. Then, there is a high correlation (0.78) between run-time variability and codebase size. Furthermore, an analysis of the 20 smallest programs across 85 releases reveals that variability tends to increase over time, primarily due to the added…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
