A model and framework for reliable build systems
Derrick Coetzee, Anand Bhaskar, George Necula

TL;DR
This paper introduces a new model and framework for reliable build systems that improve correctness and efficiency by addressing dependency specification issues, with experimental validation of prototype build managers.
Contribution
It proposes a general resource access model for build tasks and connects it to minimum information libraries, enhancing build reliability and reproducibility.
Findings
Prototype build managers show promising preliminary results.
The resource model improves build correctness and determinism.
Framework supports non-distributed, incremental, parallel builds.
Abstract
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.
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.
Taxonomy
TopicsDistributed systems and fault tolerance · Software System Performance and Reliability · Advanced Software Engineering Methodologies
