An empirical study of build maintenance effort

Shane McIntosh, Bram Adams, Thanh H.D. Nguyen, Yasutaka Kamei, Ahmed E. Hassan

Research output: Chapter in Book/Report/Conference proceedingConference contribution

73 Citations (Scopus)

Abstract

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.

Original languageEnglish
Title of host publicationICSE 2011 - 33rd International Conference on Software Engineering, Proceedings of the Conference
Pages141-150
Number of pages10
DOIs
Publication statusPublished - Jul 7 2011
Externally publishedYes
Event33rd International Conference on Software Engineering, ICSE 2011 - Waikiki, Honolulu, HI, United States
Duration: May 21 2011May 28 2011

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257

Other

Other33rd International Conference on Software Engineering, ICSE 2011
CountryUnited States
CityWaikiki, Honolulu, HI
Period5/21/115/28/11

Fingerprint

Application programs
Interfaces (computer)
Specifications

All Science Journal Classification (ASJC) codes

  • Software

Cite this

McIntosh, S., Adams, B., Nguyen, T. H. D., Kamei, Y., & Hassan, A. E. (2011). An empirical study of build maintenance effort. In ICSE 2011 - 33rd International Conference on Software Engineering, Proceedings of the Conference (pp. 141-150). (Proceedings - International Conference on Software Engineering). https://doi.org/10.1145/1985793.1985813

An empirical study of build maintenance effort. / McIntosh, Shane; Adams, Bram; Nguyen, Thanh H.D.; Kamei, Yasutaka; Hassan, Ahmed E.

ICSE 2011 - 33rd International Conference on Software Engineering, Proceedings of the Conference. 2011. p. 141-150 (Proceedings - International Conference on Software Engineering).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

McIntosh, S, Adams, B, Nguyen, THD, Kamei, Y & Hassan, AE 2011, An empirical study of build maintenance effort. in ICSE 2011 - 33rd International Conference on Software Engineering, Proceedings of the Conference. Proceedings - International Conference on Software Engineering, pp. 141-150, 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu, HI, United States, 5/21/11. https://doi.org/10.1145/1985793.1985813
McIntosh S, Adams B, Nguyen THD, Kamei Y, Hassan AE. An empirical study of build maintenance effort. In ICSE 2011 - 33rd International Conference on Software Engineering, Proceedings of the Conference. 2011. p. 141-150. (Proceedings - International Conference on Software Engineering). https://doi.org/10.1145/1985793.1985813
McIntosh, Shane ; Adams, Bram ; Nguyen, Thanh H.D. ; Kamei, Yasutaka ; Hassan, Ahmed E. / An empirical study of build maintenance effort. ICSE 2011 - 33rd International Conference on Software Engineering, Proceedings of the Conference. 2011. pp. 141-150 (Proceedings - International Conference on Software Engineering).
@inproceedings{2f71ee9c38be4831965cd83290c86e4d,
title = "An empirical study of build maintenance effort",
abstract = "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.",
author = "Shane McIntosh and Bram Adams and Nguyen, {Thanh H.D.} and Yasutaka Kamei and Hassan, {Ahmed E.}",
year = "2011",
month = "7",
day = "7",
doi = "10.1145/1985793.1985813",
language = "English",
isbn = "9781450304450",
series = "Proceedings - International Conference on Software Engineering",
pages = "141--150",
booktitle = "ICSE 2011 - 33rd International Conference on Software Engineering, Proceedings of the Conference",

}

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/7/7

Y1 - 2011/7/7

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

ER -