Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3109729.3109739acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

Unanticipated Evolution in Software Product Lines versus Independent Products: A Case Study

Published: 25 September 2017 Publication History
  • Get Citation Alerts
  • Abstract

    Real product families need to evolve in ways that are not always anticipated by a pre-planned design. Any given approach for software product lines will likely lead to both positive and negative consequences during unanticipated software evolution. Unfortunately, we know little about the evolvability characteristics of SPL approaches that concern both modelling and implementation, limiting our ability to make rational and disciplined decisions about adoption. We conduct a case study into the unanticipated evolution of a software product family using two approaches: separate products versus a common codebase using delta-oriented programming (DOP). We compare the ease of change within the two versions through a set of quantitative measurements and qualitative observations. We find that both versions have strengths and weaknesses: complexity and incomplete support from DOP tools versus significant duplication and error-proneness in the separate products.

    References

    [1]
    R. Abilio, G. Vale, E. Figueiredo, and H. Costa, "Metrics for feature-oriented programming," in Proc. Int. Wkshp. Emerging Trends in Software Metrics, 2016, pp. 36--42.
    [2]
    J. F. Bastos, P. A. d. M. S. Neto, E. S. de Almeida, and S. R. d. L. Meira, "Software Product Lines Adoption: An Industrial Case Study," 2015, pp. 35--42.
    [3]
    T. Berger, R. Rublack, D. Nair, J. M. Atlee, M. Becker, K. Czarnecki, and A. Wąsowski, "A survey of variability modeling in industrial practice," in Proc. Int. Wkshp. Variability Modelling of Software-Intensive Systems, 2013, pp. 7:1--7:8.
    [4]
    L. Bettini, F. Damiani, and I. Schaefer, "Implementing software product lines using traits," in Proc. ACM Symp. Appl. Comput., 2010, pp. 2096--2102.
    [5]
    L. Bettini, F. Damiani, and I. Schaefer, "Implementing software product lines using traits" in Proc. ACM Symp. Appl. Comput., 2010, pp. 2096--2102.
    [6]
    S. bin Abid, "Resolving feature dependency implementations inconsistencies during product derivation," in Proc. ECMFA Traceability Workshop, 2010, pp. 31--38.
    [7]
    G. Botterweck, K. Lee, and S. Thiel, "Automating product derivation in software product line engineering," in Proc. Software Engineering, 2009.
    [8]
    N. Cardozo, S. Günther, and T. D'Hondt, "Feature-oriented programming and context-oriented programming: Comparing paradigm characteristics by example implementations," in Proc. Int. Conf. Software Engineering Advances, 2011, pp. 130--135.
    [9]
    F. Deissenboeck, B. Hummel, and E. Juergens, "Code clone detection in practice," in Proc. ACM/IEEE Int. Conf. Softw. Eng., vol. 2, 2010, pp. 499--500.
    [10]
    E. Duala-Ekoko and M. P. Robillard, "Clone region descriptors: Representing and tracking duplication in source code," ACM Trans. Softw. Eng. Methodol., vol. 20, no. 1, pp. 3:1--3:31, Jun. 2010.
    [11]
    Y. Dubinsky, J. Rubin, T. Berger, S. Duszynski, M. Becker, and K. Czarnecki, "An exploratory study of cloning in industrial software product lines," 2013, pp. 25--34.
    [12]
    W. Fenske, J. Meinicke, S. Schulze, S. Schulze, and G. Saake, "Variant-preserving refactorings for migrating cloned products to a product line," 2017, pp. 316--326.
    [13]
    C. Gacek and M. Anastasopoules, "Implementing product line variabilities," in Proc. ACM Symp. Softw. Reusabil., 2001, pp. 109--117.
    [14]
    H. Gomaa and M. E. Shin, "Automated software product line engineering and product derivation," in Proc. Hawaii Int. Conf. Syst. Sci., 2007, pp. 285a:1--285a:10.
    [15]
    W. Heider, R. Froschauer, P. Grünbacher, R. Rabiser, and D. Dhungana, "Simulating evolution in model-based product line engineering," Inf. Softw. Technol., vol. 52, no. 7, pp. 758--769, Jul. 2010.
    [16]
    W. Heider, R. Rabiser, and P. Grünbacher, "Facilitating the evolution of products in product line engineering by capturing and replaying configuration decisions" Int. J. Software Tools for Technology Transfer vol. 14 no. 5 pp. 613--630 2012.
    [17]
    E. Juergens, F. Deissenboeck, B. Hummel, and S. Wagner, "Do code clones matter?" in Proc. ACM/IEEE Int. Conf. Softw. Eng., 2009, pp. 485--495.
    [18]
    C. Kapser and M. W. Godfrey, "'Cloning considered harmful' considered harmful: Patterns of cloning in software," Empir. Softw. Eng., vol. 13, no. 6, pp. 645--692, Dec. 2008.
    [19]
    G. Kniesel, J. Noppen, T. Mens, and J. Buckley, "Unanticipated software evolution," in Workshop Reader Europ. Conf. Object-Oriented Progr., ser. Lect. Notes Comp. Sci., vol. 2548, 2002, pp. 20--21.
    [20]
    H. Koziolek, T. Goldschmidt, T. de Gooijer, D. Domis, and S. Sehestedt, "Experiences from identifying software reuse opportunities by domain analysis," in Proc. Int. Softw. Product Line Conf., 2013, pp. 208--217.
    [21]
    M. A. Laguna and Y. Crespo, "A systematic mapping study on software product line evolution: From legacy system reengineering to product line refactoring," vol. 78, no. 8, pp. 1010--1034, 2013.
    [22]
    J. D. McGregor, D. Muthig, K. Yoshimura, and P. Jensen, "Guest editors' introduction: Successful software product line practices," IEEE Software, vol. 27, no. 3, pp. 16--21, May 2010.
    [23]
    J.-V. Millo, F. Mallet, A. Coadou, and S. Ramesh, "Scenario-based verification in presence of variability using a synchronous approach," Frontiers of Computer Science, vol. 7, no. 5, pp. 650--672, 2013.
    [24]
    L. Passos, L. Teixeira, N. Dintzner, S. Apel, A. Wąsowski, K. Czarnecki, P. Borba, and J. Guo, "Coevolution of variability models and related software artifacts," Empir. Softw. Eng., vol. 21, no. 4, pp. 1744--1793, Aug. 2016.
    [25]
    C. Quinton, N. Haderer, R. Rouvoy, and L. Duchien, "Towards multi-cloud configurations using feature models and ontologies," in Proc. Int. Wkshp. Multi-cloud Applications and Federated Clouds, 2013, pp. 21--26.
    [26]
    D. Rattan, R. Bhatia, and M. Singh, "Software clone detection: A systematic review" Inf. Softw. Technol., vol. 55, no. 7, pp. 1165--1199, 2013.
    [27]
    C. K. Roy, M. F. Zibran, and R. Koschke, "The vision of software clone management: Past, present, and future," in Proc. IEEE Conf. Software Maintenance, Reengineering, and Reverse Engineering, 2014, pp. 18--33.
    [28]
    J. Rubin, K. Czarnecki, and M. Chechik, "Managing cloned variants: A framework and experience," in Proc. Int. Softw. Product Line Conf., 2013, pp. 101--110.
    [29]
    I. Schaefer and F. Damiani, "Pure delta-oriented programming," 2010, pp. 49--56.
    [30]
    I. Schaefer, L. Bettini, F. Damiani, and N. Tanzarella, "Delta-oriented programming of software product lines," in Proc. Int. Softw. Product Line Conf, 2010, pp. 77--91.
    [31]
    S. Schulze, S. Apel, and C. Kästner, "Code clones in feature-oriented software product lines," SIGPLAN Notices, vol. 46, no. 2, pp. 103--112, Oct. 2010.
    [32]
    S. Schulze, O. Richers, and I. Schaefer, "Refactoring delta-oriented software product lines," in Proc. Int. Conf. Aspect-Oriented Softw. Dev., 2013, pp. 73--84.
    [33]
    F. Takeyama and S. Chiba, "Feature-oriented programming with family polymorphism," in Proc. Int. Wkshp. Variability & Composition, 2012, pp. 1--6.
    [34]
    M. Tanhaei, J. Habibi, and S.-H. Mirian-Hosseinabadi, "A feature model based framework for refactoring software product line architecture," J. Computer Science and Technology, vol. 31, no. 5, pp. 951--986, Sep. 2016.
    [35]
    T. Thum, C. Kastner, S. Erdweg, and N. Siegmund, "Abstract features in feature modeling," in Proc. Int. Softw. Product Line Conf., 2011, pp. 191--200.
    [36]
    L. P. Tizzei, M. Dias, C. M. F. Rubira, A. Garcia, and J. Lee, "Components meet aspects: Assessing design stability of a software product line," Inf. Softw. Technol., vol. 53, no. 2, pp. 121--136, 2011.
    [37]
    M. Toomim, A. Begel, and S. L. Graham, "Managing duplicated code with linked editing," in Proc. IEEE Symp. Visual Lang. Human-Centric Comput., 2004, pp. 173--180.
    [38]
    T. Winkelmann, J. Koscielny, C. Seidl, S. Schuster, F. Damiani, and I. Schaefer, "Parametric DeltaJ 1.5: Propagating feature attributes into implementation artifacts" in Gemeinsamer Tagungsband der Workshops der Tagung Software Engineering, 2016, pp. 40--54.

    Cited By

    View all
    • (2021)Evolving Delta-Oriented Product Lines: A Case Study on Feature Interaction, Safe and Partially Safe EvolutionProceedings of the XXXV Brazilian Symposium on Software Engineering10.1145/3474624.3474645(95-104)Online publication date: 27-Sep-2021
    • (2018)CIAhelperProceedings of the 22nd International Systems and Software Product Line Conference - Volume 110.1145/3233027.3233036(31-42)Online publication date: 10-Sep-2018

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    SPLC '17: Proceedings of the 21st International Systems and Software Product Line Conference - Volume B
    September 2017
    158 pages
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    In-Cooperation

    • Fidetia

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 25 September 2017

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Software product lines
    2. case study
    3. comparative study
    4. delta-oriented programming
    5. retrospective study
    6. separate products
    7. unanticipated evolution

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    SPLC '17

    Acceptance Rates

    Overall Acceptance Rate 167 of 463 submissions, 36%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)Evolving Delta-Oriented Product Lines: A Case Study on Feature Interaction, Safe and Partially Safe EvolutionProceedings of the XXXV Brazilian Symposium on Software Engineering10.1145/3474624.3474645(95-104)Online publication date: 27-Sep-2021
    • (2018)CIAhelperProceedings of the 22nd International Systems and Software Product Line Conference - Volume 110.1145/3233027.3233036(31-42)Online publication date: 10-Sep-2018

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media