An approach for recovering architectural variability from source code
Ano de defesa: | 2019 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | , , , |
Tipo de documento: | Tese |
Tipo de acesso: | Acesso aberto |
Idioma: | eng |
Instituição de defesa: |
Instituto de Matemática e Estatística
Departamento de Ciência da Computação |
Programa de Pós-Graduação: |
Ciência da Computação
|
Departamento: |
Não Informado pela instituição
|
País: |
Brasil
|
Palavras-chave em Português: | |
Área do conhecimento CNPq: | |
Link de acesso: | http://repositorio.ufba.br/ri/handle/ri/32467 |
Resumo: | Engenharia de Linha de Produto de Software (SPLE) tem sido amplamente adaptada para aplicação de reuso sistemático em famílias de sistemas. Devido ao alto investimento prévio necessário para adoção de SPLE, organizações geralmente começam com abordagens de reuso oportunistas (e.g., sistemas que são clonados e modificados). No entanto, problemas de manutenção aparecem ao gerenciar um grande número de sistemas semelhantes onde cada um implementa e evolui características particulares. Uma solução viável para resolver esse problema é migrar para Linhas de Produto de Software (SPLs) usando uma abordagem extrativa. Essa iniciativa, em suas fases iniciais, inclui a definição de uma Arquitetura de Linha de Produtos (PLA) para apoiar a derivação de produtos variantes e também permitir a customização de acordo com as necessidades dos clientes. Desta forma, o uso sistemático de técnicas de Recuperação de Arquitetura de Software (SAR) permitem a recuperação da PLA e mantêm a PLA alinhada com o desenvolvimento. Nosso objetivo é fornecer uma abordagem para recuperar PLAs e diretivas para apoiar a recuperação das PLAs. Nós reunimos conhecimento por meio de revisões da literatura e estudos exploratórios para caracterizar o estado-da-arte e identificar oportunidades de pesquisa em técnicas e ferramentas de SAR que apoiam a recuperação de variabilidade arquitetural a partir de informações provenientes do código fonte para uma família de produtos. O uso de técnicas e ferramentas de SAR para recuperar uma PLA que documenta informação sobre variabilidade no nível arquitetural pode atacar problemas relacionados com a adoção, design, e evolução de SPLs. Infelizmente, poucos estudos investigam a recuperação de PLA e também fornecem avaliação empírica. Um dos principais problemas da abordagem extrativa é a explosão da variabilidade na representação arquitetural. Nossa abordagem é baseada na identificação da variabilidade em nível arquitetural por meio da extração de informações do código fonte dos variantes. Para avaliar nossa abordagem, realizamos um conjunto de estudos empíricos. Os resultados forneceram evidencias de que nossa abordagem é capaz de recuperar PLAs, identificar a variabilitdade a nível arquitetural e filtrar variantes exclusivos através da eliminação de pacotes e classes específicas sem precisar remover os variantes completamente. Nós consideramos que a PLA recuperada pode ajudar especialistas do domínio na tomada de decisão para apoiar a adoção de SPLE. |