Anomaly agglomeration as sign of product line instabilities

Eduardo Fernandes · Americanae (AECID Library) · 2017

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.

Read the paper · More papers on PaperTik