Abstract
AbstractSoftware 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 × 1020 products. 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.
Funder
National Science Foundation
U.S. Department of Justice
Office of Science
Publisher
Springer Science and Business Media LLC
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. It’s Organic: Software Testing of Emerging Domains (Keynote);Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering;2024-07-10
2. On Configuration Sequences in Feature Models;Proceedings of the 18th International Working Conference on Variability Modelling of Software-Intensive Systems;2024-02-07
3. Identifying Root-Cause Changes for User-Reported Incidents in Online Service Systems;2023 IEEE 34th International Symposium on Software Reliability Engineering (ISSRE);2023-10-09
4. Inference and test generation using program invariants in chemical reaction networks;Proceedings of the 44th International Conference on Software Engineering;2022-05-21