一句话:结合访谈与文献综述,实证比较克隆并拥有与平台导向复用的成本、成本因素和收益。
软件复用常采用克隆并拥有(复制并改编系统)或平台导向(构建可配置平台)两种策略:前者初期便宜灵活,但难以随复用频率扩展且维护成本高;后者可扩展,但前期投入大并降低灵活性。由于缺乏系统化实证数据,两种策略的成本仍不清楚。本文对一家大型组织进行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.
DOI 原文 ·
@inproceedings{paperbot5803,
title = {An empirical analysis of the costs of clone- and platform-oriented software reuse},
author = {Jacob Krüger and Thorsten Berger},
booktitle = {FSE},
year = {2020},
doi = {10.1145/3368089.3409684}
}