Alinhamento de rastros de execução de programas para compreensão de pontos de variação em código-fonte

Detalhes bibliográficos
Ano de defesa: 2009
Autor(a) principal: Paixão, Klérisson Vinícius Ribeiro da
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Uberlândia
BR
Programa de Pós-graduação em Ciência da Computação
Ciências Exatas e da Terra
UFU
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufu.br/handle/123456789/12486
Resumo: The fact that requirement changes are inherent in software projects is well known. All successful software must continually evolve to support user requests, hardware changes and environment changes. However, discovering what are the software artifacts that need to evolve or where a new feature have to be inserted is a major challenge to Software Maintenance. In addition, discovering where the source code was refactored is another problem that hinders the location of concepts in source code. This work proposes a method to locate source code artifacts that will drive the evolution process in order to add new features in the system or to compare source code artifacts extracted from dierent versions of the same system in order to analyse where refactorings have taken place. The approach is based on the pairwise alignment of method call sequences obtained from the execution of predened functionalities. The misaligned points show the dierences between the implementation of two similar functionalities or the dierences between the implementation of some functionality in two dierent versions of the system.The proposed method is validated with the analysis of the ArgoUML CASE tool. Specically, the method have proven to be useful to locate potential source code artifact that helps the system comprehension with the reduction of the number of elements that the developer should anlyse.