TY - GEN
T1 - An empirical study of build maintenance effort
AU - McIntosh, Shane
AU - Adams, Bram
AU - Nguyen, Thanh H.D.
AU - Kamei, Yasutaka
AU - Hassan, Ahmed E.
PY - 2011
Y1 - 2011
N2 - The build system of a software project is responsible for transforming source code and other development artifacts into executable programs and deliverables. Similar to source code, build system specifications require maintenance to cope with newly implemented features, changes to imported Application Program Interfaces (APIs), and source code restructuring. In this paper, we mine the version histories of one proprietary and nine open source projects of different sizes and domain to analyze the overhead that build maintenance imposes on developers. We split our analysis into two dimensions: (1) Build Coupling, i.e., how frequently source code changes require build changes, and (2) Build Ownership, i.e., the proportion of developers responsible for build maintenance. Our results indicate that, despite the difference in scale, the build system churn rate is comparable to that of the source code, and build changes induce more relative churn on the build system than source code changes induce on the source code. Furthermore, build maintenance yields up to a 27% overhead on source code development and a 44% overhead on test development. Up to 79% of source code developers and 89% of test code developers are significantly impacted by build maintenance, yet investment in build experts can reduce the proportion of impacted developers to 22% of source code developers and 24% of test code developers.
AB - The build system of a software project is responsible for transforming source code and other development artifacts into executable programs and deliverables. Similar to source code, build system specifications require maintenance to cope with newly implemented features, changes to imported Application Program Interfaces (APIs), and source code restructuring. In this paper, we mine the version histories of one proprietary and nine open source projects of different sizes and domain to analyze the overhead that build maintenance imposes on developers. We split our analysis into two dimensions: (1) Build Coupling, i.e., how frequently source code changes require build changes, and (2) Build Ownership, i.e., the proportion of developers responsible for build maintenance. Our results indicate that, despite the difference in scale, the build system churn rate is comparable to that of the source code, and build changes induce more relative churn on the build system than source code changes induce on the source code. Furthermore, build maintenance yields up to a 27% overhead on source code development and a 44% overhead on test development. Up to 79% of source code developers and 89% of test code developers are significantly impacted by build maintenance, yet investment in build experts can reduce the proportion of impacted developers to 22% of source code developers and 24% of test code developers.
UR - http://www.scopus.com/inward/record.url?scp=79959887906&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=79959887906&partnerID=8YFLogxK
U2 - 10.1145/1985793.1985813
DO - 10.1145/1985793.1985813
M3 - Conference contribution
AN - SCOPUS:79959887906
SN - 9781450304450
T3 - Proceedings - International Conference on Software Engineering
SP - 141
EP - 150
BT - ICSE 2011 - 33rd International Conference on Software Engineering, Proceedings of the Conference
T2 - 33rd International Conference on Software Engineering, ICSE 2011
Y2 - 21 May 2011 through 28 May 2011
ER -