A Model for Detecting Faults in Build Specifications
summary
Proposes BuildFS, a formal execution model that maps every file read/write to the build task that performed it and defines concrete faults: missing input and missing output (file access not subsumed by the task spec) and ordering violation (conflicting accesses with no happens‑before). Implements lightweight instrumentation for Make (8 lines) and Gradle (≈90 lines), runs on 612 projects, discovers hundreds of issues with 247 confirmed and fixed, slows builds ~2×, and outperforms mkcheck by ~10^4× (4 orders) and 74× overall.
AI-written summary · about
chapters (7)
- 0:00Start
- 1:07Parallel Builds
- 2:05Incrementality and Parallelism
- 3:26Ordering Violations
- 7:31Model for Arbitrary Build Executions
- 10:41Testing Approach
- 13:02Adding Support for a New Build System
related talks
19mCAFault: Enhance Fault Injection Technique in Practical Distributed Systems via...
10mThe unintended consequences of mining software build systems
01h 00mMeasure, Then Build
22mForward build systems, formally
19mthe path to achieve a bug-free build on the mainline
45mAdding Testable Code Specifications in the Linux Ke...
47mProperty-Based Testing
25mBad Behaviour: Automating System-level Safety Testing Using Open Source Tools
