Gabriela Sampaio’s research while affiliated with Imperial College London and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (4)


Artifacts of an exemplary car product line and their formalization of the running example
Commuting diagram of updating a configuration after product-line evolution
Guided configuration evolution process. a For domain engineers. b For application engineers.
Guided configuration evolution process for domain engineers using templates
Excerpt of Schnapptack’s feature model

+2

Guiding the evolution of product-line configurations
  • Article
  • Full-text available

February 2022

·

134 Reads

·

10 Citations

Software and Systems Modeling

Michael Nieke

·

Gabriela Sampaio

·

·

[...]

·

Ina Schaefer

A product line is an approach for systematically managing configuration options of customizable systems, usually by means of features. Products are generated for configurations consisting of selected features. Product-line evolution can lead to unintended changes to product behavior. We illustrate that updating configurations after product-line evolution requires decisions of both, domain engineers responsible for product-line evolution as well as application engineers responsible for configurations. The challenge is that domain and application engineers might not be able to interact with each other. We propose a formal foundation and a methodology that enables domain engineers to guide application engineers through configuration evolution by sharing knowledge on product-line evolution and by defining automatic update operations for configurations. As an effect, we enable knowledge transfer between those engineers without the need for interactions. We evaluate our methodology on four large-scale industrial product lines. The results of the qualitative evaluation indicate that our method is flexible enough for real-world product-line evolution. The quantitative evaluation indicates that we detect product behavior changes for up to 55.3%55.3\% 55.3 % of the configurations which would not have been detected using existing methods.

Download


Partially Safe Evolution of Software Product Lines

April 2019

·

20 Reads

·

22 Citations

Journal of Systems and Software

Software Product Lines allow the automatic generation of related products built with reusable artefacts. In this context, developers may need to perform changes and check whether products are affected. A strategy to perform such analysis is verifying behaviour preservation through the use of formal theories. The product line refinement notion requires behaviour preservation for all existing products. Nevertheless, in evolution scenarios like bug fixes, some products intentionally have their behaviour changed. To support developers in these and other unsafe scenarios, we define a theory of partial product line refinement that helps to precisely understand which products are affected by a change. This provides a kind of impact analysis that could, for example, reduce test effort, since only affected products need to be tested. We provide properties such as compositionality, which deals with changes to a specific product line element, and general properties to support developers when safe and partially safe scenarios are combined. We also define a set of transformation templates, which are classified according to their compatibility to specific types of product lines. To evaluate our work, we analyse two product lines: Linux and Soletta, to discover if our templates could be helpful in evolving these systems.


Partially safe evolution of software product lines

September 2016

·

28 Reads

·

17 Citations

A key challenge developers might face when evolving a product line is not to inadvertently affect users of existing products. In refactoring and conservative extension scenarios, we can avoid this problem by checking for behavior preservation, either by testing the generated products or by using formal theories. Product line refinement theories support that by requiring behavior preservation for all existing products. However, in many evolution scenarios, such as bug fixing, there is a high chance that only some of the products are refined. To support developers in these and other non full-refinement situations, we define a theory of partial product line refinement that helps to precisely understand which products should not be affected by an evolution scenario. This provides a kind of impact analysis that could, for example, reduce test effort, since products not affected do not need to be tested. Additionally, we formally derive a catalog of eight partial refinement templates that capture evolution scenarios, and associated preconditions, not covered before. Finally, by analyzing 79218 commits from the Linux repository, we find evidence that the proposed templates could cover a number of practical evolution scenarios.

Citations (4)


... However, customer requirements are characterised by fuzziness, dynamics, and unpredictability in practice (Gologlu and Mizrak 2011). Customer requirements may change at various stages of the product life cycle (Nieke et al. 2022), resulting in frequent changes in the product configuration scheme. Failure to respond quickly and low-costly to customer requirement changes will lead to production stagnation, loss of a large number of economic costs, and declining customer satisfaction (Zheng, Yang, and Zhang 2020). ...

Reference:

Complex product configuration updating oriented by changing customer requirements
Guiding the evolution of product-line configurations

Software and Systems Modeling

... We describe these three goals together, because they build on the same underlying benefits: analyzing evolution patterns and ensuring that software evolution is save. For instance, Sampaio et al. [133] propose and formalize evolution templates for product lines, which represent different SCIs developers may have. Ensuring these templates during the evolution of a product line would allow to guarantee that products not affected by the changed code keep their behavior. ...

Partially Safe Evolution of Software Product Lines
  • Citing Article
  • April 2019

Journal of Systems and Software

... In particular, new methods are required to address evolution scenarios that explicitly address an SPL's variability, and to provide safety guarantees about such evolutions (discussed in the following section). Continuous neglection of evolutionary issues can lead to an SPL's erosion, that is, a [13] Industry collaboration Evolution operators 2012 Seidl and Heidenreich [38] Evolution operators 2012 de Oliveira et al. [12] Change impact analysis 2012 Rubin et al. [35] Change impact analysis 2013 Linsbauer et al. [21] Change impact analysis 2014 Quinton et al. [32] Evolution operators 2015 Teixeira et al. [43] Change impact analysis 2016 Sampaio et al. [36] Change impact analysis Evolution operators deviation of the variability model to a degree where desired key properties of the SPL no longer hold [16,24]. ...

Partially safe evolution of software product lines
  • Citing Conference Paper
  • September 2016