4 research outputs found

    Recording Feature Mappings During Evolution of Cloned Variants

    Get PDF
    Clone-and-Own and software product lines are often used approaches when developing variational software products. Nevertheless, both approaches have negative points which are inevitable when developing variants. While clone-and-own often is not feasible in terms of synchronizing changes into other variants, software product lines are costly when developing only a small amount of variants. In this thesis, we tackle these problems through the creation of an annotation-based approach. Our approach uses line-based feature mappings to implement variability language independent in any textual documents. Feature mappings are recorded automatically during a source edit with as few developer interactions as possible. As automatically feature mapping is hard without knowing the intentions of developers, they select a feature context and a feature context mode which are then used by in the feature mapping calculation. With the feature mapping assigned, developers can also select patches to be synchronized to variants which also implement the calculated feature mapping. In total, our approach mixes elements from clone-and-own and software product lines and enables developer to work as efficient as possible with an acceptable cost-benefit ratio

    An industrial case study for adopting software product lines in automotive industry an evolution-based approach for software product lines (EVOA-SPL)

    Get PDF
    Software Product Lines (SPLs) seek to achieve gains in productivity and time to market. Many companies in several domains are constantly adopting SPLs. Dealing with SPLs begin after companies find themselves with successful variants of a product in a particular domain. The adoption of an SPL-based approach in the automotive industry may provide a significant return on investment. To switch to an SPL-based approach, practitioners lack a reengineering approach that supports SPL migration and evolution in a systematic fashion. This paper presents a practical evolution-based approach to migrate and evolve a set of variants of a given product into an SPL and describes a case study from the automotive domain. The case study considers the need to handle the classical sensor variants family (CSVF) at Bosch Company. Using this study, we performed a contributed step toward future switch of the CSVF into the SPL. We investigated the applicability of the proposed evolution-based approach with a real variants family (using the textual requirements of the CSVF) and we evaluated our approach using several data collection methods. The results reveal that our approach can be suitable for the automotive domain in the case study.The University of Minho and Bosch Company supported this research. We thank our colleagues from the classical sensor development team at Bosch Company. Especially Andre L. Ferreira and Jana Seidel for their active collaboration and support. Special acknowledgment to the spirit of Helder Boas, who passed away after he offered the help and support to this research work

    Seamless Variability Management With the Virtual Platform

    Get PDF
    Customization is a general trend in software engineering, demanding systems that support variable stakeholder requirements. Two opposing strategies are commonly used to create variants: software clone & own and software configuration with an integrated platform. Organizations often start with the former, which is cheap, agile, and supports quick innovation, but does not scale. The latter scales by establishing an integrated platform that shares software assets between variants, but requires high up-front investments or risky migration processes. So, could we have a method that allows an easy transition or even combine the benefits of both strategies? We propose a method and tool that supports a truly incremental development of variant-rich systems, exploiting a spectrum between both opposing strategies. We design, formalize, and prototype the variability-management framework virtual platform. It bridges clone & own and platform-oriented development. Relying on programming-language-independent conceptual structures representing software assets, it offers operators for engineering and evolving a system, comprising: traditional, asset-oriented operators and novel, feature-oriented operators for incrementally adopting concepts of an integrated platform. The operators record meta-data that is exploited by other operators to support the transition. Among others, they eliminate expensive feature-location effort or the need to trace clones. Our evaluation simulates the evolution of a real-world, clone-based system, measuring its costs and benefits.Comment: 13 pages, 10 figures; accepted for publication at the 43rd International Conference on Software Engineering (ICSE 2021), main technical trac

    A Framework for Seamless Variant Management and Incremental Migration to a Software Product-Line

    Get PDF
    Context: Software systems often need to exist in many variants in order to satisfy varying customer requirements and operate under varying software and hardware environments. These variant-rich systems are most commonly realized using cloning, a convenient approach to create new variants by reusing existing ones. Cloning is readily available, however, the non-systematic reuse leads to difficult maintenance. An alternative strategy is adopting platform-oriented development approaches, such as Software Product-Line Engineering (SPLE). SPLE offers systematic reuse, and provides centralized control, and thus, easier maintenance. However, adopting SPLE is a risky and expensive endeavor, often relying on significant developer intervention. Researchers have attempted to devise strategies to synchronize variants (change propagation) and migrate from clone&own to an SPL, however, they are limited in accuracy and applicability. Additionally, the process models for SPLE in literature, as we will discuss, are obsolete, and only partially reflect how adoption is approached in industry. Despite many agile practices prescribing feature-oriented software development, features are still rarely documented and incorporated during actual development, making SPL-migration risky and error-prone.Objective: The overarching goal of this PhD is to bridge the gap between clone&own and software product-line engineering in a risk-free, smooth, and accurate manner. Consequently, in the first part of the PhD, we focus on the conceptualization, formalization, and implementation of a framework for migrating from a lean architecture to a platform-based one.Method: Our objectives are met by means of (i) understanding the literature relevant to variant-management and product-line migration and determining the research gaps (ii) surveying the dominant process models for SPLE and comparing them against the contemporary industrial practices, (iii) devising a framework for incremental SPL adoption, and (iv) investigating the benefit of using features beyond PL migration; facilitating model comprehension.Results: Four main results emerge from this thesis. First, we present a qualitative analysis of the state-of-the-art frameworks for change propagation and product-line migration. Second, we compare the contemporary industrial practices with the ones prescribed in the process models for SPL adoption, and provide an updated process model that unifies the two to accurately reflect the real practices and guide future practitioners. Third, we devise a framework for incremental migration of variants into a fully integrated platform by exploiting explicitly recorded metadata pertaining to clone and feature-to-asset traceability. Last, we investigate the impact of using different variability mechanisms on the comprehensibility of various model-related tasks.Future work: As ongoing and future work, we aim to integrate our framework with existing IDEs and conduct a developer study to determine the efficiency and effectiveness of using our framework. We also aim to incorporate safe-evolution in our operators
    corecore