Uma abordagem para evolução e reconciliação de linhas de produtos de software clonadas


Autoria(s): Lima, Gleydson de Azevedo Ferreira
Contribuinte(s)

Fialho, Sergio Vianna

01231423420

http://lattes.cnpq.br/4986614168117334

31510230700

http://lattes.cnpq.br/8215124502137579

Oliveira, Luiz Affonso Henderson Guedes De

21929564287

http://lattes.cnpq.br/7987212907837941

Aranha, Eduardo Henrique da Silva

02561400492

http://lattes.cnpq.br/9520477461031645

Kulesza, Uira

02219235432

http://lattes.cnpq.br/0189095897739979

Borba, Paulo Henrique Monteiro

68396597472

http://lattes.cnpq.br/9395715443254344

Alves, Vander Ramos

19720169893

http://lattes.cnpq.br/7500979195469357

Data(s)

27/11/2015

27/11/2015

31/03/2014

Resumo

Software product line engineering promotes large software reuse by developing a system family that shares a set of developed core features, and enables the selection and customization of a set of variabilities that distinguish each software product family from the others. In order to address the time-to-market, the software industry has been using the clone-and-own technique to create and manage new software products or product lines. Despite its advantages, the clone-and-own approach brings several difficulties for the evolution and reconciliation of the software product lines, especially because of the code conflicts generated by the simultaneous evolution of the original software product line, called Source, and its cloned products, called Target. This thesis proposes an approach to evolve and reconcile cloned products based on mining software repositories and code conflict analysis techniques. The approach provides support to the identification of different kinds of code conflicts – lexical, structural and semantics – that can occur during development task integration – bug correction, enhancements and new use cases – from the original evolved software product line to the cloned product line. We have also conducted an empirical study of characterization of the code conflicts produced during the evolution and merging of two large-scale web information system product lines. The results of our study demonstrate the approach potential to automatically or semi-automatically solve several existing code conflicts thus contributing to reduce the complexity and costs of the reconciliation of cloned software product lines.

Linhas de produtos de software promovem a reutilização em larga escala através do desenvolvimento de famílias de sistemas que: (i) compartilham um núcleo comum de características previamente implementadas; e (ii) permitem a seleção e customização das características variáveis, as quais determinam os comportamentos distintos de cada membro ou produto da família de sistema. Por razões de time-to-market e flexibilidade, a indústria de software tem adotado, com frequência, a técnica de clonagem como mecanismo de criação de produtos ou de novas linhas de produtos. Apesar das suas vantagens, a técnica de clonagem traz dificuldades para a evolução e reconciliação de características de linhas de produto de software devido aos possíveis conflitos de integração das mudanças realizadas no código da linha de produto de software original, denominada Source, e a da linha de produto clonada, denominada Target. Esta tese de doutorado propõe uma abordagem para evolução e reconciliação de produtos clonadas baseada na adoção de técnicas de mineração de repositórios de software. A abordagem promove a identificação de diferentes tipos de conflitos - léxicos, estruturais e semânticos - que podem ocorrer durante a integração de características ou tarefas de desenvolvimento da linha de produto original para a linha de produto clonada. O trabalho apresenta os resultados de um estudo empírico de caracterização dos tipos de conflitos de integração de código em diferentes evoluções de duas linhas de produto de software de sistemas de informação web. Os resultados do estudo demonstram o potencial da abordagem na resolução automática ou semi-automática de vários dos conflitos existentes, reduzindo assim os custos de evolução e reconciliação de linhas de produto de software clonadas.

Identificador

LIMA, Gleydson de Azevedo Ferreira. Uma Abordagem para Evolução e Reconciliação de Linhas de Produtos de Software Clonadas. 2014. 130f. Tese (Doutorado em Engenharia Elétrica e de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2014.

http://repositorio.ufrn.br/handle/123456789/19392

Idioma(s)

por

Publicador

Universidade Federal do Rio Grande do Norte

Brasil

UFRN

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO

Direitos

Acesso Aberto

Palavras-Chave #Engenharia de linhas de produto de software #Clonagem de linhas de produto de software #Evolução de software #Mineração de repositório de software #Linhas de produto para sistemas de informações Web #CNPQ::ENGENHARIAS::ENGENHARIA ELETRICA
Tipo

doctoralThesis