Cited by 6Software Engineering ResearchSoftware Testing and Debugging TechniquesSoftware Engineering Techniques and Practices

The DOI matches its Crossref record; 1 of the 1 references it cites were found in a registry or an index.

Detecting Build Dependency Errors in Incremental Builds

Open access
Lyu, Jun, Li, Shanshan, Zhang, He, Zhang, Yang, Rong, Guoping, Rigger, Manuel·2024·Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis

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 a few 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 possible. EChecker achieves higher efficiency than the methods that rely on clean builds while maintaining effectiveness. We selected 12 representative projects, with their sizes ranging from small to large, with 240 commits (20 commits for each project), based on which we evaluated the effectiveness and efficiency of EChecker. We compared the evaluation results with a state-of-the-art build dependency error detection tool. The evaluation shows that the F-1 score of EChecker improved by 0.18 over the state-of-the-art method. EChecker increases the build dependency error detection efficiency by an average of 85.14 times (with a median of 16.30 times). The results demonstrate that EChecker can support practitioners in detecting build dependency errors efficiently.

Overview

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Integrity signals

Registry

Crossref · 10.1145/3650212.3652105

Cites

1 of 1 references verified0 citation errors · 0 not checkable

Statistics

Verification

Claims the paper makes

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

The self-check needs the paper’s full text.

Citations

Cites

Flagged first, then by citations

Research works printed but not linked: 31

  1. 10.1109/ICSM.2007.4362624 · DOI
  2. 10.1109/ICSME.2014.87 · DOI
  3. 10.1109/ICSME.2014.87 · DOI
  4. 10.1109/MSR.2017.62 · DOI
  5. 10.1007/s10664-017-9510-8 · DOI · Paper page
  6. Charlie Curtsinger and Daniel W. Barowy. 2021. LaForge: Always-Correct and Fast Incremental Builds from Simple Specifications. CoRR, abs/2108.12469 (2021), arXiv:2108.12469. arxiv:2108.12469 · arXiv
  7. Charlie Curtsinger and Daniel W. Barowy. 2022. Riker: Always-Correct and Fast Incremental Builds from Simple Specifications. In 2022 USENIX Annual Technical Conference, USENIX ATC 2022, Carlsbad, CA, USA, July 11-13, 2022, Jiri Schindler and Noa Zilberman (Eds.). USENIX Association, 885–898. https://www.usenix.org/conference/atc22/presentation/curtsinger
  8. 10.1145/3395363.3397388 · DOI
  9. 10.1016/j.jss.2015.06.063 · DOI
  10. 10.1109/TSE.2020.3048335 · DOI
  11. 10.1145/239098.239129 · DOI
  12. 10.1145/3180155.3180181 · DOI
  13. 10.1109/ICSE.2019.00125 · DOI · Paper page
  14. 10.1145/3293882.3330578 · DOI
  15. 10.1145/2897695.2897703 · DOI
  16. 10.1109/ICSME.2014.46 · DOI
  17. 10.1145/1985793.1985813 · DOI · Paper page
  18. 10.1007/s10664-014-9324-x · DOI
  19. Eric S Raymond. 2003. The art of Unix programming. Addison-Wesley Professional.
  20. 10.1145/3180155.3180224 · DOI
  21. 10.1109/ASE.2019.00056 · DOI
  22. 10.1145/3510003.3510102 · DOI
  23. 10.1145/2568225.2568255 · DOI
  24. 10.1145/3428212 · DOI · Paper page
  25. 10.1109/ICSE.2012.6227152 · DOI
  26. 10.1145/2351676.2351749 · DOI
  27. 10.1145/3387940.3392181 · DOI
  28. 10.1109/ICSE.2015.34 · DOI
  29. 10.1145/3551349.3556930 · DOI
  30. 10.1145/2554850.2555134 · DOI
  31. 10.1109/COMPSAC.2014.12 · DOI

Metadata

Authors
Lyu, J., Li, S., Zhang, H., Zhang, Y., Rong, G., & Rigger, M.
Affiliations
  • Nanjing University (CN)
  • National University of Singapore (SG)
Venue
Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis
Publisher
ACM
Published
2024-09-11
Pages
1-12
OpenAlex
W4402457616
Cited by
6
References
1
Citations by year
2026: 2 · 2025: 3 · 2024: 1
FWCI
1.93
Type
conference paper
Language
en
Open access
Locations
  • ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) (publishedVersion)
  • arXiv (Cornell University) (submittedVersion)
  • arXiv (Cornell University)
Funders
  • National Natural Science Foundation of China (62302210, 62202219, 62072227)
  • Nanjing University (KFKT2022A09, KFKT2023A10, ZZKT2022A25, KFKT2023A09)
  • Jiangsu Provincial Key Research and Development Program (BE2021002, BE20 21002-2)
Topics
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
  • Physical Sciences › Computer Science › Software › Software Testing and Debugging Techniques
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
Keywords
incremental build, Makefile, preprocessor directives, software configuration management

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review