Since 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, the current study examined 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 composed of DNA. The researchers conjectured that there are families of products that consist of common and variable DNA parts, and product-line engineering can be leveraged to help synthetic biologists build, evolve, and reuse DNA parts. The current study performed an investigation of domain engineering that leverages an open-source repository of more than 45,000 reusable DNA parts. The study showed the feasibility of these new types of product-line models by identifying features and related artifacts in up to 93.5 percent of products, and that there is indeed both commonality and variability. Feature models were then constructed for four commonly engineered functions leading to product lines ranging from 10 to 7.5 × 1020 products. A case study demonstrated how the feature models can be used to help guide new experimentation in aspects of application engineering. Finally, an empirical study demonstrated the effectiveness and efficiency of automated reverse engineering on both complete and incomplete sets of products. In the process of these studies, key challenges are highlighted and limitations are identified for existing SPL techniques and tools which provide a roadmap for making SPL engineering applicable to new and emerging domains. (publisher abstract modified)