An empirical study of build maintenance effort

An empirical study of build maintenance effort
复制标题

DOI:
10.1145/1985793.1985813
复制
发表时间:
2011-05
期刊:
2011 33rd International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
Shane McIntosh;Bram Adams;Thanh H. D. Nguyen;Yasutaka Kamei;A. Hassan
Shane McIntosh;Bram Adams;Thanh H. D. Nguyen;Yasutaka Kamei;A. Hassan
中科院分区:
其他
文献类型:
--
作者:
Shane McIntosh;Bram Adams;Thanh H. D. Nguyen;Yasutaka Kamei;A. Hassan

文献摘要

被引文献

相似文献

软件项目的构建系统负责将源代码和其他开发工件转换为可执行的程序和可交付成果。与源代码类似,构建系统规范需要维护以应对新实施的功能,进口应用程序界面(API)的更改以及源代码重组。在本文中,我们挖掘了一个不同大小和域的一个专有和九个开源项目的版本历史,以分析构建维护的开销对开发人员的影响。我们将分析分为两个维度:(1)构建耦合,即源代码更改的频率需要构建更改,以及(2)构建所有权,即负责构建维护的开发人员的比例。我们的结果表明,尽管规模有所不同,但构建系统流失率与源代码的速率相当,并且构建变化会导致构建系统上的相对流失比源代码更改在源代码上引起的更改。此外,构建维护在源代码开发方面的开销高达27%,在测试开发方面的开销44%。多达79%的源代码开发人员和89%的测试代码开发人员受到构建维护的影响很大,但是对构建专家的投资可以将受影响开发人员的比例降低到22%的源代码开发人员和24%的测试代码开发人员。
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.