An empirical investigation of organic software product lines

被引:3
|
作者
Cashman, Mikaela [1 ,2 ]
Firestone, Justin [3 ]
Cohen, Myra B. [1 ]
Thianniwet, Thammasak [4 ,5 ]
Niu, Wei [6 ]
机构
[1] Iowa State Univ, Dept Comp Sci, Ames, IA 50011 USA
[2] Oak Ridge Natl Lab, Biosci Div, Oak Ridge, TN 37830 USA
[3] Univ Nebraska, Dept Comp Sci & Engn, Lincoln, NE 68588 USA
[4] Suranaree Univ Technol, DIGITECH, Nakhon Ratchasima, Thailand
[5] Suranaree Univ Technol, Sch Informat Technol, Nakhon Ratchasima, Thailand
[6] Univ Nebraska, Dept Chem & Biomol Engn, Lincoln, NE 68588 USA
关键词
Software product lines; Synthetic biology; Reverse engineering; BioBricks; DESIGN; VECTOR;
D O I
10.1007/s10664-021-09940-0
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 x 10(20) 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.
引用
收藏
页数:43
相关论文
共 50 条
  • [1] An empirical investigation of organic software product lines
    Mikaela Cashman
    Justin Firestone
    Myra B. Cohen
    Thammasak Thianniwet
    Wei Niu
    [J]. Empirical Software Engineering, 2021, 26
  • [2] DNA as Features: Organic Software Product Lines
    Cashman, Mikaela
    Firestone, Justin
    Cohen, Myra B.
    Thianniwet, Thammasak
    Niu, Wei
    [J]. SPLC'19: PROCEEDINGS OF THE 23RD INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL A, 2020, : 108 - 118
  • [3] Empirical analysis of the tool support for software product lines
    Miguel Horcas, Jose
    Pinto, Monica
    Fuentes, Lidia
    [J]. SOFTWARE AND SYSTEMS MODELING, 2023, 22 (01): : 377 - 414
  • [4] Requirements Evolution in Software Product Lines: An Empirical Study
    de Oliveira, Raphael Pereira
    de Almeida, Eduardo Santana
    [J]. PROCEEDINGS 2015 NINTH BRAZILIAN SYMPOSIUM ON SOFTWARE COMPONENTS, ARCHITECTURES AND REUSE - SBCARS 2015, 2015, : 1 - 10
  • [5] Empirical analysis of the tool support for software product lines
    José Miguel Horcas
    Mónica Pinto
    Lidia Fuentes
    [J]. Software and Systems Modeling, 2023, 22 : 377 - 414
  • [6] Empirical Software Engineering, Predictive Models, and Product Lines
    Carver, Jeffrey C.
    de Almeida, Eduardo Santana
    Capilla, Rafael
    Minku, Leandro
    Torchiano, Marco
    Valdezate, Alejandro
    [J]. IEEE SOFTWARE, 2018, 35 (03) : 8 - 11
  • [7] Empirical assessment of generating adversarial configurations for software product lines
    Temple, Paul
    Perrouin, Gilles
    Acher, Mathieu
    Biggio, Battista
    Jezequel, Jean-Marc
    Roli, Fabio
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2021, 26 (01)
  • [8] Empirical assessment of generating adversarial configurations for software product lines
    Paul Temple
    Gilles Perrouin
    Mathieu Acher
    Battista Biggio
    Jean-Marc Jézéquel
    Fabio Roli
    [J]. Empirical Software Engineering, 2021, 26
  • [9] What are the roles of software product managers? An empirical investigation
    Maglyas, Andrey
    Nikula, Uolevi
    Smolander, Kari
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2013, 86 (12) : 3071 - 3090
  • [10] Evolving Software Product Lines with Aspects: An Empirical Study on Design Stability
    Figueiredo, Eduardo
    Cacho, Nelio
    Sant'Anna, Claudio
    Monteiro, Mario
    Kulesza, Uira
    Garcia, Alessandro
    Soares, Sergio
    Ferrari, Fabiano
    Khan, Safoora
    Castor Filho, Fernando
    Dantas, Francisco
    [J]. ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 261 - 270