Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/ESBF-ALLNP2
Type: Dissertação de Mestrado
Title: Anomaly agglomeration as sign of product line instabilities
Authors: Eduardo Moreira Fernandes
First Advisor: Eduardo Magno Lages Figueiredo
First Referee: Claudio Nogueira Sant'Anna
Second Referee: Marco Tulio de Oliveira Valente
Abstract: Uma Linha de Produtos de Software (LPS) é um conjunto de sistemas de software que compartilham características comuns e variáveis. Para prover reúso em larga escala, os componentes de uma LPS devem ser de fácil manutenção. Portanto, desenvolvedores devem identificar as estruturas de código anômalas - isto é, as anomalias de código - que prejudicam a manutenção de LPSs. Caso contrário, mudanças em uma LPS podem eventualmente propagar-se a características sem aparente inter-relação e afetar diversos produtos da LPS. Após revisarmos a literatura, encontramos algumas estratégias de detecção e várias ferramentas para detecção de anomalias de código. Em geral, tanto as estratégias quanto as ferramentas apresentam resultados de detecção similares, e algumas ferramentas são compatíveis com LPS. Assim, assumimos que a detecção de anomalias individuais de código é um problema suficientemente tratado pela literatura. Trabalhos anteriores frequentemente assumem que anomalias isoladas são suficientes para caracterizar problemas de manutenção em LPS, ainda que cada anomalia possa representar uma visão parcial, insignificante ou inexistente da extensão de um problema. Portanto, tais estudos possuem dificuldades em caracterizar estruturas anômalas que indiquem problemas de manutenção em LPS. Nesta dissertação, estudamos o contexto de cada anomalia e observamos que algumas delas podem estar interconectadas, formando as chamadas aglomerações de anomalias. Duas ou mais anomalias compõem uma aglomeração em LPS se afetam em conjunto uma característica, uma hierarquia de características ou um componente. Caracterizamos três tipos de aglomeração de anomalias de código em LPS e investigamos o potencial de anomalias aglomeradas, ou não-aglomeradas, em representarem, no contexto de LPS, fontes de um problema de manutenção específico: instabilidade. Analisamos diversas versões de quatro LPSs orientadas por características. Nossos resultados sugerem que aglomeração em hierarquia de características pode indicar até 89% de fontes de instabilidade em LPS, provendo melhores resultados em comparação a anomalias não-aglomeradas.
Abstract: Software Product Line (SPL) is a set of systems that share features. Since the components of a SPL should be easy to maintain, developers have to detect code anomalies that harm the SPL maintainability. We have found several means to detect single code anomalies. Previous work assume that single anomalies suffice to characterize SPL maintenance problems, though an anomaly represents only a part of the problem. Thus, previous studies have difficulties in characterizing anomalies that indicate SPL maintenance problems. In this dissertation, we observe that anomalies may be interconnected, thereby forming so-called agglomerations. Two or more anomalies form an agglomeration in SPL when they affect the same SPL structural element. We then assess to what extent (non-)agglomerated anomalies represent sources of a specific problem: instability. Our findings suggest that feature hierarchy agglomeration indicates up to 89% of sources of instability, i.e., more than non-agglomerated anomalies.
Subject: Anomalias de código (Engenharia de software)
Linha de produtos de software
Computação
Engenharia de software
language: Inglês
Publisher: Universidade Federal de Minas Gerais
Publisher Initials: UFMG
Rights: Acesso Aberto
URI: http://hdl.handle.net/1843/ESBF-ALLNP2
Issue Date: 22-Feb-2017
Appears in Collections:Dissertações de Mestrado

Files in This Item:
File Description SizeFormat 
eduardomoreirafernandes.pdf1.44 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.