Understanding the Implications of Changes to Build Systems
Mahtab Nejati, Mahmoud Alfadel, Shane McIntosh
摘要
The maintenance of build systems imposes a considerable overhead on software development. Since automated quality assurance methods are rarely applied to build specifications, the importance of the role peer code review plays in the maintenance of build systems is amplified. Yet prior work shows that the review process for build systems suffers from a lack of build experts and effective tooling. To support the understanding of changes to build specifications (a key stage in the review process), we propose BCIA-an approach to summarize the impact of changes to build specifications across the build configuration space. BCIA traverses the paths through which data and control flow in the prior and updated versions of the build system to generate an Impact Knowledge Graph (IKG), which describes the impact of the change across the build configuration space. We develop BuiScout-a prototype implementation of BCIA for CMake-based build systems. We use BuiScout to evaluate our approach through an empirical study of 10,000 change sets that we mine from ten large open-source projects that span a total of 28 development years. Our findings indicate that BuiScout can detect an impact that propagates to unmodified parts of the build system in 77.37% of the studied change sets. These changes impact a median of 14 unmodified commands, with a median of 95.55% of the impacted commands per change set appearing in unmodified files. Our study suggests that dedicated approaches, such as BCIA, have the potential to alleviate the challenges developers face when assessing the impact of changes to build systems.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper2
- The Cost of Downgrading Build Systems : A Case Study of KubernetesGareema Ranjan, Mahmoud Alfadel, Gengyi Sun, Shane McIntoshASE 2025
- EvidenT: An Evidence-Preserving Framework for Iterative System-Level Package RepairChenyu Zhao, Minghua Ma, Shenglin Zhang, Zeshun Huang 等ISSTA 2026
它引用的顶会 Paper3
- Escaping dependency hell: finding build dependency errors with the unified dependency graphGang Fan, Chengpeng Wang, Rongxin Wu, Xiao Xiao 等ISSTA 2020 · 被引用 37 次
- Rete: Learning Namespace Representation for Program RepairNikhil Parasaram, Earl T. Barr, Sergey MechtaevICSE 2023 · 被引用 12 次
- Code Review of Build System Specifications: Prevalence, Purposes, Patterns, and PerceptionsMahtab Nejati, Mahmoud Alfadel, Shane McIntoshICSE 2023 · 被引用 8 次
相关 Paper
- Detecting Build Conflicts in Software Merge for Java Programs via Static AnalysisSheikh Shadab Towqir, Bowen Shen, Muhammad Ali Gulzar, Na MengASE 2022 · 被引用 7 次
- Efficient Build Dependency Verification Using eBPF and Incremental AnalysisYuta Saito, Kazunori Sakamoto, Hironori WashizakiICSE 2026
- Enhancing Code Understanding for Impact Analysis by Combining Transformers and Program Dependence GraphsYanfu Yan, Nathan Cooper, Kevin Moran, Gabriele Bavota 等FSE 2024 · 被引用 4 次
- CMakeSonar: A Static Approach to Detecting CMake Bugs with a Fine-Grained Type SystemHaotian Han, Zihang Zhong, Qingan Li, Jingling Xue 等OOPSLA 2026
- CPscan: Detecting Bugs Caused by Code Pruning in IoT KernelsLirong Fu, Shouling Ji, Kangjie Lu, Peiyu Liu 等CCS 2021 · 被引用 7 次
