Code Review of Build System Specifications: Prevalence, Purposes, Patterns, and Perceptions
Build systems automate the integration of source code into executables. Maintaining build systems is known to be challenging. Lax build maintenance can lead to costly build breakages or unexpected software behaviour. Code review is a broadly adopted practice to improve software quality. Yet, little is known about how code review is applied to build specifications.
In this paper, we present the first empirical study of how code review is practiced in the context of build specifications. Through quantitative analysis of 502,931 change sets from the Qt and Eclipse communities, we observe that changes to build specifications are at least two times less likely to be discussed during code review when compared to production and test code changes. A qualitative analysis of 500 change sets reveals that (i) comments on changes to build specifications are more likely to point out defects than rates reported in the literature for production and test code, and (ii) issues related to evolvability of the code and dependency-related issues are the most frequently raised types of issues. Follow-up interviews with nine developers with 1-40 years of experience point out social and technical factors that hinder rigorous review of build specifications, such as a prevailing lack of understanding of and interest in build systems among developers, and the lack of dedicated tooling to support the review of build specifications.
Thu 18 MayDisplayed time zone: Hobart change
11:00 - 12:30 | Code reviewJournal-First Papers / SEIP - Software Engineering in Practice / Technical Track at Meeting Room 103 Chair(s): Thomas LaToza George Mason University | ||
11:00 15mTalk | Workflow analysis of data science code in public GitHub repositories Journal-First Papers Dhivyabharathi Ramasamy Department of Informatics, University of Zurich, Zurich, Switzerland, Cristina Sarasua Department of Informatics, University of Zurich, Zurich, Switzerland, Alberto Bacchelli University of Zurich, Abraham Bernstein Department of Informatics, University of Zurich, Zurich, Switzerland | ||
11:15 15mTalk | Quality Evaluation of Modern Code Reviews Through Intelligent Biometric Program Comprehension Journal-First Papers Haytham Hijazi CISUC, DEI, University of Coimbra, João Durães CISUC, Polytechnic Institute of Coimbra, Ricardo Couceiro University of Coimbra, Raul Barbosa CISUC, DEI, University of Coimbra, João Castelhano ICNAS, University of Coimbra, Júlio Medeiros CISUC, DEI, University of Coimbra, Miguel Castelo Branco ICNAS/CIBIT, University of Coimbra, Paulo Carvalho University of Coimbra, Henrique Madeira University of Coimbra | ||
11:30 15mTalk | Code Review of Build System Specifications: Prevalence, Purposes, Patterns, and Perceptions Technical Track Mahtab Nejati University of Waterloo, Mahmoud Alfadel University of Waterloo, Shane McIntosh University of Waterloo Pre-print | ||
11:45 15mTalk | Please fix this mutant: How do developers resolve mutants surfaced during code review? SEIP - Software Engineering in Practice Goran Petrovic Google; Universität Passau, René Just University of Washington, Marko Ivanković Google; Universität Passau, Gordon Fraser University of Passau | ||
12:00 15mTalk | Using Large-scale Heterogeneous Graph Representation Learning for Code Review Recommendations at Microsoft SEIP - Software Engineering in Practice Jiyang Zhang University of Texas at Austin, Chandra Maddila Microsoft Research, Ramakrishna Bairi Microsoft Research, Christian Bird Microsoft Research, Ujjwal Raizada Microsoft Research, Apoorva Agrawal Microsoft Research, Yamini Jhawar Microsoft Research, Kim Herzig Microsoft, Arie van Deursen Delft University of Technology Pre-print Media Attached | ||
12:15 7mTalk | A mixed-methods analysis of micro-collaborative coding practices in OpenStack Journal-First Papers Armstrong Foundjem Queen's University, Eleni Constantinou University of Cyprus, Tom Mens University of Mons, Bram Adams Queen's University, Kingston, Ontario |