An empirical study of build maintenance effort

Author(s): Shane McIntosh, Bram Adams, Thanh H. D. Nguyen, Yasutaka Kamei, Ahmed E. Hassan
Venue: International Conference on Software Engineering
Date: May 2011

Type of Experiement: Survey/Multi-Case Study
Data Collection Method: Code Metric


McIntosh, Adams, Nguyen, Kamei, and Hassan examine the relative effort of maintaining a build system compared to modifying the source code of a project. The researchers studied the build and source files of 9 open source projects and 1 commercial project.

Preliminary research indicated that, in the 10 projects, the build files accounted for 9% of all project files, normalized churn rates for build and source files were similar, and changes in the build files needed more line modifications than changes in the source files. Examination of the change logs revealed that only 5.5% of source code revisions resulted in changes to the build system, while a much higher percentage of work items (e.g. added features) resulted in changes to the build system. The actual level of coupling between source code changes and build changes varied wildly from project to project, however. As for who was responsible for maintaining the build system, the researchers found that both expected methods, a few build focused experts and the distribution of build maintenance among all developers, were used in the 10 software projects.

Throughout the studied projects, build code was more coupled to test code than to source code, and C projects had higher coupling rates between the build code and other code than Java projects. The researcher's stated goal in providing the coupling rates is to have software project managers account for the time developers spend maintaining build code when the managers create project plans and budgets.