• DocumentCode
    2726792
  • Title

    Making Software Product Line Evolution Safer

  • Author

    Ferreira, Felype ; Borba, Paulo ; Soares, Gustavo ; Gheyi, Rohit

  • fYear
    2012
  • fDate
    23-28 Sept. 2012
  • Firstpage
    21
  • Lastpage
    30
  • Abstract
    Developers evolve software product lines (SPLs) manually or using typical program refactoring tools. However, when evolving a product line to introduce new features or to improve its design, it is important to make sure that the behavior of existing products is not affected. Typical program refactorings cannot guarantee that because the SPL context goes beyond code and other kinds of core assets, and involves additional artifacts such as feature models and configuration knowledge. Besides that, in a SPL we typically have to deal with a set of possibly alternative assets that do not constitute a well-formed program. As a result, manual changes and existing program refactoring tools may introduce behavioral changes or invalidate existing product configurations. To avoid that, we propose approaches and implement tools for making product line evolution safer; these tools check whether SPL transformations are refinements in the sense that they preserve the behavior of the original SPL products. They implement different and practical approximations of a formal definition of SPL refinement. We evaluate the approaches in concrete SPL evolution scenarios where existing product´s behavior must be preserved. However, our tools found that some transformations introduced behavioral changes. Moreover, we evaluate defective refinements, and the toolset detects the behavioral changes.
  • Keywords
    approximation theory; formal verification; program diagnostics; software development management; software maintenance; software process improvement; software tools; SPL evolution; SPL refinement; SPL transformations; defective refinement evaluation; design improvement; formal definition approximations; product configurations; program refactoring tools; safe software product line evolution; software behavioral changes; Bluetooth; Frequency modulation; Games; Internet; Optimization; Productivity; Software; checking tools; product line evolution; refactoring; refinement; safe evolution; software product lines;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Components Architectures and Reuse (SBCARS), 2012 Sixth Brazilian Symposium on
  • Conference_Location
    Natal
  • Print_ISBN
    978-1-4673-4783-9
  • Type

    conf

  • DOI
    10.1109/SBCARS.2012.18
  • Filename
    6394971