An empirical investigation of organic software product lines

An empirical investigation of organic software product lines
复制标题

DOI:
10.1007/s10664-021-09940-0
复制
发表时间:
2021-03
影响因子:
4.1
通讯作者:
Mikaela Cashman;Justin W. Firestone;Myra B. Cohen;Thammasak Thianniwet;W. Niu
Mikaela Cashman;Justin W. Firestone;Myra B. Cohen;Thammasak Thianniwet;W. Niu
中科院分区:
计算机科学2区
文献类型:
--
作者:
Mikaela Cashman;Justin W. Firestone;Myra B. Cohen;Thammasak Thianniwet;W. Niu

文献摘要

被引文献

相似文献

软件产品线工程是管理软件系统家族中重用的最佳实践,软件系统家族越来越多地应用于新的和新兴的领域。在这项工作中,我们研究了软件产品线工程在这些新领域之一——合成生物学中的应用。在合成生物学中,生物体被编程来执行新功能或改进现有功能。这些程序是用DNA组成的小积木设计和构建的。我们推测,有一系列的产品是由常见的和可变的DNA部分组成的,我们可以利用产品线工程来帮助合成生物学家构建、进化和重用DNA部分。在本文中,我们对利用超过45,000个可重用DNA部分的开源存储库的领域工程进行了调查。我们通过在高达93.5%的产品中识别特征和相关工件来显示这些新类型产品线模型的可行性,并且确实存在共性和可变性。然后,我们为四个常见的工程功能构建特征模型,导致产品线范围从10到7.5 × 1020个产品。在一个案例研究中,我们演示了如何使用特征模型来帮助指导应用程序工程方面的新实验。最后,在一个实证研究中,我们证明了自动化逆向工程在完整和不完整产品集上的有效性和效率。在这些研究的过程中,我们强调了关键的挑战,并揭示了现有SPL技术和工具的局限性,这些技术和工具为SPL工程应用于新兴领域提供了路线图。
Software product line engineering is a best practice for managing reuse in families of software systems that is increasingly being applied to novel and emerging domains. In this work we investigate the use of software product line engineering in one of these new domains, synthetic biology. In synthetic biology living organisms are programmed to perform new functions or improve existing functions. These programs are designed and constructed using small building blocks made out of DNA. We conjecture that there are families of products that consist of common and variable DNA parts, and we can leverage product line engineering to help synthetic biologists build, evolve, and reuse DNA parts. In this paper we perform an investigation of domain engineering that leverages an open-source repository of more than 45,000 reusable DNA parts. We show the feasibility of these new types of product line models by identifying features and related artifacts in up to 93.5% of products, and that there is indeed both commonality and variability. We then construct feature models for four commonly engineered functions leading to product lines ranging from 10 to 7.5 × 1020products. In a case study we demonstrate how we can use the feature models to help guide new experimentation in aspects of application engineering. Finally, in an empirical study we demonstrate the effectiveness and efficiency of automated reverse engineering on both complete and incomplete sets of products. In the process of these studies, we highlight key challenges and uncovered limitations of existing SPL techniques and tools which provide a roadmap for making SPL engineering applicable to new and emerging domains.