Developer-Defined Accelerations in Continuous Integration: A Detection Approach and Catalog of Patterns
Continuous Integration (CI) provides a feedback loop for the change sets that developers produce. It is crucial that CI processes change sets quickly to provide timely feedback to developers and enable teams to rapidly release software updates. Prior work has made several advances in proposing automated approaches to speed up CI builds. While these approaches have been broadly adopted, CI platforms are flexible enough to enable teams to produce custom strategies to optimize or omit unnecessary or redundant tasks (i.e., developer-defined accelerations). Exploring developer-defined accelerations and identifying recurrent patterns within them may enable broader reuse and can inform recommendations to enhance software development efficiency.
In this paper, we set out to detect and catalog developer-defined CI accelerations. First, we propose clustering, rule-based, and ensemble approach to detect developer-defined accelerations in a dataset of 2,896 CircleCI jobs, which achieve an F1-score of up to 0.64. We then conduct a qualitative analysis of the detected developer-defined accelerations to create a detailed catalog of 14 patterns spanning four categories in purposes, 16 patterns spanning five categories in mechanisms, and three categories in magnitudes, from which we infer actionable implications for both the consumers and the providers of CI platforms. For example, developers can use our identified patterns to create templates that detect non-impactful changes to specific files, such as .yml and .json, used for project and Docker settings. This allows CI consumers and providers to conserve resources by skipping redundant builds for these changes.
Thu 31 OctDisplayed time zone: Pacific Time (US & Canada) change
10:30 - 12:00 | Release engineeringResearch Papers / NIER Track / Industry Showcase at Camellia Chair(s): Parnian Kamran University of California, Davis | ||
10:30 15mTalk | GPP: A Graph-Powered Prioritizer for Code Review Requests Research Papers Lanxin Yang Nanjing University, Jinwei Xu Nanjing University, He Zhang Nanjing University, Fanghao Wu Nanjing University, Jun Lyu Nanjing University, Yue Li Nanjing University, Alberto Bacchelli University of Zurich | ||
10:45 15mTalk | Understanding Developer-Analyzer Interactions in Code Reviews Industry Showcase Martin Schäf Amazon Web Services, Berk Cirisci Amazon Web Services, Linghui Luo Amazon Web Services, Muhammad Numair Mansur Amazon Web Services, Omer Tripp Amazon Web Services, Daniel J Sanchez Amazon Alexa, Qiang Zhou Amazon Web Services, Muhammad Bilal Zafar Amazon Web Services | ||
11:00 15mTalk | Understanding the Implications of Changes to Build Systems Research Papers Mahtab Nejati University of Waterloo, Mahmoud Alfadel University of Calgary, Shane McIntosh University of Waterloo DOI Pre-print | ||
11:15 15mTalk | Developer-Defined Accelerations in Continuous Integration: A Detection Approach and Catalog of Patterns Research Papers Mingyang Yin University of Waterloo, Yutaro Kashiwa Nara Institute of Science and Technology, Keheliya Gallaba Centre for Software Excellence, Huawei Canada, Mahmoud Alfadel University of Calgary, Yasutaka Kamei Kyushu University, Shane McIntosh University of Waterloo DOI Pre-print | ||
11:30 10mTalk | Towards Automated Configuration Documentation NIER Track Jobayer Ahmmed Iowa State University, Myra Cohen Iowa State University, Paul Gazzillo University of Central Florida DOI Pre-print | ||
11:40 10mTalk | Unity Is Strength: Collaborative LLM-Based Agents for Code Reviewer Recommendation NIER Track Luqiao Wang Xidian University, Yangtao Zhou Xidian University, Huiying Zhuang Xidian University, Qingshan Li Xidian University, Di Cui Xidian University, Yutong Zhao University of Central Missouri, Lu Wang Xidian University | ||
11:50 10mTalk | Build Issue Resolution from the Perspective of Non-Contributors NIER Track Sunzhou Huang The University of Texas at San Antonio, Xiaoyin Wang University of Texas at San Antonio DOI Pre-print |