Detecting Build Dependency Errors in Incremental Builds
Jun Lyu, Shanshan Li, He Zhang, Yang Zhang, Guoping Rong, Manuel, Rigger

TL;DR
EChecker is a novel tool that efficiently detects build dependency errors in incremental C/C++ builds by inferring dependencies from code changes, avoiding costly full rebuilds and outperforming existing methods.
Contribution
The paper introduces EChecker, a new approach that automatically updates build dependencies from code changes, significantly improving detection efficiency over state-of-the-art methods.
Findings
EChecker improves F-1 score by 0.18 over existing tools.
EChecker increases detection efficiency by an average of 85.14 times.
EChecker effectively detects missing and redundant dependencies in large projects.
Abstract
Incremental and parallel builds performed by build tools such as Make are the heart of modern C/C++ software projects. Their correct and efficient execution depends on build scripts. However, build scripts are prone to errors. The most prevalent errors are missing dependencies (MDs) and redundant dependencies (RDs). The state-of-the-art methods for detecting these errors rely on clean builds (i.e., full builds of a subset of software configurations in a clean environment), which is costly and takes up to multiple hours for large-scale projects. To address these challenges, we propose a novel approach called EChecker to detect build dependency errors in the context of incremental builds. The core idea of EChecker is to automatically update actual build dependencies by inferring them from C/C++ pre-processor directives and Makefile changes from new commits, which avoids clean builds when…
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
TopicsBIM and Construction Integration · Business Process Modeling and Analysis
