Análise de evolução de linhas de produtos de software
Linhas de Produto de Software, variabilidade, análise de evolução, ASTool.
No cenário atual da engenharia de software, as Linhas de Produtos de Software (LPS) emergem como uma abordagem fundamental para enfrentar os desafios da customização em massa. LPS permitem a construção de soluções individuais com base em componentes reutilizáveis, proporcionando eficiência e flexibilidade no desenvolvimento de software. As LPS são fundamentais para melhorar a produtividade e a qualidade no desenvolvimento de software, graças à reutilização de componentes e rápida adaptação a novos requisitos. A variabilidade é central em LPS, facilitando a adaptação a diversas situações de produtos através de recursos que podem ser ativados. A análise de LPS é crucial para identificar requisitos comuns e variantes, mas enfrenta desafios de falta de dados concretos e limitações de tempo. No entanto, a análise de LPS enfrenta desafios, como a escassez de estudos empíricos caracterizando e detalhando a evolução de LPS. Neste trabalho, desenvolvemos a ferramenta ASTool (software de análise de alterações na árvore de sintaxe abstrata) para examinar diversas Linhas de Produto de Software e assim, caracterizar a evolução das mesmas. Os resultados obtidos nesta análise revelam que, no que diz respeito à média de profundidade das alterações na Abstract Syntax Tree (AST), as modificações ocorrem em níveis superficiais, ou seja, próximas à raiz da árvore de sintaxe. Em relação à média de arquivos alterados por commit, observou-se uma quantidade significativa de arquivos modificados por commit. Quanto à média de lacunas (gaps) entre as linhas alteradas no código, os valores obtidos indicam uma baixa frequência de alterações. Os resultados deste estudo podem influenciar a decisão de utilizar ou não a técnica de memorização para melhorar a eficácia das análises.