An empirical analysis of the costs of clone- and platform-oriented software reuse

An empirical analysis of the costs of clone- and platform-oriented software reuse
复制标题

DOI:
10.1145/3368089.3409684
复制
发表时间:
2020-11
期刊:
Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
通讯作者:
J. Krüger;T. Berger
J. Krüger;T. Berger
中科院分区:
其他
文献类型:
--
作者:
J. Krüger;T. Berger

文献摘要

被引文献

相似文献

软件复用降低了开发成本,提高了软件系统的质量。有两种常见的策略:克隆和拥有(复制和适应系统)和面向平台的重用(构建可配置的平台)。前者是现成的,灵活的,最初便宜,但不规模与重用的频率,强加高维护成本。后者可扩展,但需要为构建平台进行高额的前期投资,并降低了灵活性。因此,每种策略都有其独特的优点和缺点,需要不同的开发活动和软件架构。决定一个战略是一个核心决策,对组织的软件开发有着长期的影响。不幸的是,战略的成本没有得到很好的理解-并不奇怪,由于缺乏系统地引出的经验数据,这是很难收集的。我们提出了一个实证研究的开发活动,成本,成本因素,以及与任何重用策略的好处。为此,我们结合联合收割机定量和定性数据,我们三角形从26个采访中的一个大型组织和系统的文献综述,涵盖57个出版物。我们的研究既证实和驳斥共同的假设软件重用。例如,我们确认,开发面向平台的重用是更昂贵的,但同时降低了重用成本;和面向平台的结果在更高的代码质量相比,克隆和自己的。令人惊讶的是,反驳常见的假设,我们发现,在一个平台上的变化传播可能会更昂贵,平台可以促进创新市场的发展,并且在实践中没有严格的区分克隆和自己和面向平台的重用。
Software reuse lowers development costs and improves the quality of software systems. Two strategies are common: clone & own (copying and adapting a system) and platform-oriented reuse (building a configurable platform). The former is readily available, flexible, and initially cheap, but does not scale with the frequency of reuse, imposing high maintenance costs. The latter scales, but imposes high upfront investments for building the platform, and reduces flexibility. As such, each strategy has distinctive advantages and disadvantages, imposing different development activities and software architectures. Deciding for one strategy is a core decision with long-term impact on an organization’s software development. Unfortunately, the strategies’ costs are not well-understood - not surprisingly, given the lack of systematically elicited empirical data, which is difficult to collect. We present an empirical study of the development activities, costs, cost factors, and benefits associated with either reuse strategy. For this purpose, we combine quantitative and qualitative data that we triangulated from 26 interviews at a large organization and a systematic literature review covering 57 publications. Our study both confirms and refutes common hypotheses on software reuse. For instance, we confirm that developing for platform-oriented reuse is more expensive, but simultaneously reduces reuse costs; and that platform-orientation results in higher code quality compared to clone & own. Surprisingly, refuting common hypotheses, we find that change propagation can be more expensive in a platform, that platforms can facilitate the advancement into innovative markets, and that there is no strict distinction of clone & own and platform-oriented reuse in practice.