English

CIn - Centro de Informática UFPE




Eventos Relacionados

Defesa de Dissertação de Mestrado Nº 1.377: "Comparing Strategies for Improving Precision When Checking Safe Evolution of Software Product Lines”

O aluno Jefferson Rodrigues de Almeida irá defender seu trabalho dia 12 de março, às 10h, no Auditório Início: 12/03/2014 às 10:00 Término: 12/03/2014 às 12:00 Local: Auditório do CIn

Pós-Graduação em Ciência da Computação - UFPE
Defesa de Dissertação de Mestrado Nº 1.377
 
Aluno: Jefferson Rodrigues de Almeida
Orientador: Prof. Paulo Henrique Monteiro Borba.
Título: "Comparing Strategies for Improving Precision When Checking Safe Evolution of Software Product Lines”
Data: 12/03/2014
Hora/Local: 10h à Auditório do CIn
Banca Examinadora:
Prof. Vinicius Cardoso Garcia (UFPE / CIn)
Prof.  Rohit Gheyi  (UFCG / DSC)
Prof. Paulo Henrique Monteiro Borba  (UFPE / CIn)
 
RESUMO:
 
Software product lines are emerging as a viable and important development paradigm
allowing companies to realize order-of-magnitude improvements in time to market, cost,
productivity, quality, and other business drivers. However, evolving a product line is risky
because a change in a single artifact might affect many products and their corresponding
customers. In this context, when evolving a product line to introduce new features or to
improve its design, it is important to ensure that the evolution preserves the observable
behavior of the existing products. Typical program refactoring cannot guarantee behavior
preservation because the product line context goes beyond code. Product lines encompass
additional artifacts such as feature models and configuration knowledge. Additionally, we
usually have to deal with a set of alternative assets that does not constitute a well-formed
program. Therefore, existing program refactoring tools may introduce behavioral changes
or invalidate existing product configurations. The manual analysis of the evolution
of these artifacts are tiresome and ineffective, causing defects remain unsolved and
compromising the aforementioned benefits of software product lines. In the literature,
we found some force-brute approaches that move toward overcoming these challenges.
They implement practical approximations of a refinement theory of software product
lines. However, they are inaccurate and spend a substantial time to check behavioral
incompatibilities between the evolutions. In contrast, an alternative optimized approach
focus on testing for behavioral compatibility only the modified assets during the evolution.
This leads to a reduction on time, making the approach faster when compared to other
proposed ones. This approach improves performance, but on the other hand, decreases
accuracy. Therefore, in this work we propose strategies for increasing precision of these
optimized approaches. We first implemented a strategy, which analyzes classes in a
hierarchy closest to the user, which might better determine if the evolution preserves
behavior. In addition, we integrated a new automatic test generation tool to our toolset,
which has an efficient heuristic to guide its search for quality tests. In this work, we
combine these two previously mentioned approaches with two testing tools and compare
them regarding performance and accuracy. We apply them in concrete evolution scenarios
from two different product lines. The first product line generates functional tests from use
case specifications and the second one manages media on mobile devices. As a result, our
strategies found that some transformations introduced behavioral changes. Furthermore,
they improved performance and achieved higher accuracies.
 
Palavras-chave: Software Product Lines, Product Line Evolution, Checking tools, Refactoring,
Refinement, Safe Evolution. 
  • © Centro de Informática UFPE - Todos os direitos reservados
    Tel +55 81 2126.8430 - Cidade Universitária - 50740-560 - Recife/PE
Plano4 Consultoria Web