ICSE 2024
Fri 12 - Sun 21 April 2024 Lisbon, Portugal
Fri 19 Apr 2024 14:15 - 14:30 at Glicínia Quartin - Evolution 5 Chair(s): Martin Pinzger

Software build systems specify how source code is transformed into deliverables. Keeping build systems in sync with the software artifacts that they build while retaining their capacity to quickly produce updated deliverables requires a serious investment of development effort. Enticed by advanced features, several software teams have migrated their build systems to a modern generation of build technologies (e.g., Bazel, Buck), which aim to reduce the maintenance and execution overhead that build systems impose on development. However, not all migrations lead to perceived improvements, ultimately culminating in abandonment of the build technology. While prior work has focused on upward migration towards more advanced technologies, so-called downgrades, i.e., abandonment of a modern build technology in favour of a traditional one, remains largely unexplored.

In this paper, we perform an empirical study to better understand the abandonment of Bazel—a modern build technology with native support for multi-language software projects and (local/distributed) artifact caching. Our investigation of 542 projects that adopt Bazel reveals that (1) 61 projects (11.2%) have abandoned Bazel; and (2) abandonment tends to occur after investing in Bazel for a substantial amount of time (a median of 638 days). Thematic analysis reveals seven recurring reasons for abandonment, such as technical challenges, lack of platform integration, team coordination issues, and upstream trends. After abandoning Bazel, the studied projects have adopted a broad set of alternatives, spanning from language-specific tools like Go Build, to more traditional build technologies like CMake and even pure Make. These results demonstrate that choosing a build technology involves balancing tradeoffs that are not always optimized by adopting the latest technology. This paper also lays the foundation for future work on balancing the tradeoffs that are associated with build technology choice (e.g., feature richness vs. maintenance costs) and the development of tools to support migration away from modern technologies.

Fri 19 Apr

Displayed time zone: Lisbon change

14:00 - 15:30
14:00
15m
Talk
Semantic GUI Scene Learning and Video Alignment for Detecting Duplicate Video-based Bug Reports
Research Track
Yanfu Yan William & Mary, Nathan Cooper William & Mary, Oscar Chaparro William & Mary, Kevin Moran University of Central Florida, Denys Poshyvanyk William & Mary
14:15
15m
Talk
The Classics Never Go Out of Style: An Empirical Study of Downgrades from the Bazel Build Technology
Research Track
Mahmoud Alfadel University of Waterloo, Shane McIntosh University of Waterloo
Pre-print
14:30
15m
Talk
Scaling Code Pattern Inference with Interactive What-If Analysis
Research Track
Hong Jin Kang UCLA, Kevin Wang UCLA, Miryung Kim UCLA and Amazon Web Services
14:45
15m
Talk
Context-Aware Name Recommendation for Field Renaming
Research Track
Chunhao Dong Beijing Institute of Technology, Yanjie Jiang Peking University, Nan Niu University of Cincinnati, Yuxia Zhang Beijing Institute of Technology, Hui Liu Beijing Institute of Technology
15:00
7m
Talk
"Don’t Touch my Model!" Towards Managing Model History and Versions during Metamodel Evolution
New Ideas and Emerging Results
Marcel Homolka Institute for Software Systems Engineering, Johannes Kepler University, Linz, Luciano Marchezan Johannes Kepler University Linz, Wesley Assunção North Carolina State University, Alexander Egyed Johannes Kepler University Linz
Pre-print
15:07
7m
Talk
Challenges in Empirically Testing Memory Persistency Models
New Ideas and Emerging Results
Vasileios Klimis Queen Mary University of London, Alastair F. Donaldson Imperial College London, Viktor Vafeiadis MPI-SWS, John Wickerson Imperial College London, Azalea Raad Imperial College London
15:14
7m
Talk
AntiCopyPaster 2.0: Whitebox just-in-time code duplicates extraction
Demonstrations
Eman Abdullah AlOmar Stevens Institute of Technology, Benjamin Knobloch Stevens Institute of Technology, Thomas Kain Stevens Institute of Technology, Christopher Kalish Stevens Institute of Technology, Mohamed Wiem Mkaouer University of Michigan - Flint, Ali Ouni ETS Montreal, University of Quebec