[en] FEAF: AN INFRASTRUCTURE FOR ANALYZING THE EVOLUTION OF THE FEATURES IN A SOFTWARE PRODUCT LINE - BRUNO FERREIRA FABRI (2015)
[pt] Linhas de Produtos de Software (LPS) consistem em um paradigma de desenvolvimento de software, no qual famílias de sistemas compartilham características comuns e tornam explicitas outras características que variam de acordo com o sistema final considerado. Esta abordagem oferece benefícios ao desenvolvimento de software tais como a redução de custos e a qualidade do produto final. Como em qualquer abordagem de desenvolvimento de software, as atividades de evolução do software devem ser vistas como algo inevitável, constante e rotineiro. Dentro do cenário do desenvolvimento de LPSs, as atividades de evolução são impulsionadas pelas alterações das suas características no decorrer das versões. Visto isso, o desenvolvimento de LPSs impõem novos desafios para as atividades de análise e compreensão da evolução de suas características, considerando-se as diversas versões de uma LPS. Trabalhos de pesquisa recentes propõem estratégias visuais com suporte automatizado por ferramentas de visualização. Tais abordagens apresentam limitações visto que algumas não fornecem suporte à comparação das características em diversas versões de uma LPS e outras não dão suporte ao conceito de características presente na LPS. Esta dissertação propõe o FEAF, uma infraestrutura para auxiliar a construção de ferramentas para analisar e compreender a evolução das características nas diferentes versões de uma LPS. Com base na infraestrutura proposta, foi desenvolvida uma ferramenta visual, que auxilia nas atividades de análise e compreensão da evolução das características de uma LPS, denominada FEACP. Ela fornece uma estratégia de visualização que utiliza duas visualizações leves baseadas em representação de grafo. A ferramenta foi avaliada através de um experimento controlado que compara a sua estratégia de visualização com a estratégia de visualização da ferramenta Source Miner Evolution.