A model and framework for reliable build systems
This addresses the issue of invalid builds and nondeterminism for software developers, but it appears incremental as it builds on existing techniques like minimum information libraries.
The paper tackles the problem of unreliable build systems due to manual dependency specification by proposing a general model for resources accessed by build tasks, showing its correspondence to minimum information libraries, and provides preliminary experimental results from prototypes.
Reliable and fast builds are essential for rapid turnaround during development and testing. Popular existing build systems rely on correct manual specification of build dependencies, which can lead to invalid build outputs and nondeterminism. We outline the challenges of developing reliable build systems and explore the design space for their implementation, with a focus on non-distributed, incremental, parallel build systems. We define a general model for resources accessed by build tasks and show its correspondence to the implementation technique of minimum information libraries, APIs that return no information that the application doesn't plan to use. We also summarize preliminary experimental results from several prototype build managers.