Skip navigation
Use este identificador para citar ou linkar para este item: http://repositorio.unb.br/handle/10482/51943
Arquivos associados a este item:
Arquivo TamanhoFormato 
BrunoMatissekWorm_DISSERT.pdf1,27 MBAdobe PDFVisualizar/Abrir
Título: Evolution-aware static analysis of software product lines
Autor(es): Worm, Bruno Matissek
Orientador(es): Alves, Vander Ramos
Assunto: Software
Linhas de produtos
Software - evolução
Programação funcional
Memorização
Data de publicação: 17-Mar-2025
Referência: WORM, Bruno Matissek. Evolution-Aware Static Analysis of Software Product Lines. 2024. 63 f. Dissertação (Mestrado em Informática) — Universidade de Brasília, Brasília, 2024.
Resumo: A necessidade de lidar com a variabilidade durante a análise das Linhas de Produtos de Software (LPS) é intrínseca, pois o número de combinações de produtos válidos pode ser uma função exponencial em relação ao número de características. Além disso, à medida que uma LPS evolui, os resultados das análises anteriores poderiam ser usados para otimizar os cálculos. Entretanto, estas oportunidades de reúso são frequentemente descartadas pelas técnicas de análise de LPS presentes no atual estado da arte. Este trabalho propõe um método para embutir memoização em análises estáticas de ControlFlow Graph (CFG) implementadas em Haskell e reescritas para serem aplicadas em LPS. O método memoizado proposto foi usado para transformar seis análises estáticas de CFG levantadas para LPSs, e comparou-se o desempenho destas em relação às suas contrapartes sem memoização em um conjunto de dez versões da LPS BusyBox. Verificou-se que esta técnica de memoização foi eficiente em reusar os resultados das análises aplicadas em revisões anteriores, com reduções de tempo total computando análises de até duas ordens de magnitude em relação às análises sem memoização, tendo impacto limitado no uso de armazenamento dos resultados memoizados.
Abstract: Handling variability in Software Product Line (SPL) analyses is essential due to the vast number of possible valid product combinations, which can grow exponentially with the number of features. Furthermore, as a SPL evolves, results from previous analyses could be used to optimize computations. However, these reuse opportunities are frequently discarded by current state-of-the-art SPL analysis techniques. We contribute a method for embedding memoization in Control-Flow Graph (CFG) static analyses implemented in Haskell and rewritten to be applied on Software Product Lines. We compared a set of six memoized analyses with their non-memoized counterparts in a set of ten revisions from the BusyBox SPL. We observed that the memoization technique was effective in reusing the results of the analyses applied in previous revisions, with reductions in total time computing analysis reaching up to two orders of magnitude in relation to the nonmemoized analyses while having limited storage consumption impact.
Unidade Acadêmica: Instituto de Ciências Exatas (IE)
Departamento de Ciência da Computação (IE CIC)
Programa de pós-graduação: Programa de Pós-Graduação em Informática
Licença: A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.unb.br, www.ibict.br, www.ndltd.org sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra supracitada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data.
Aparece nas coleções:Teses, dissertações e produtos pós-doutorado

Mostrar registro completo do item Visualizar estatísticas



Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.