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

AUTOR(ES)
DATA DE PUBLICAÇÃO

2009

RESUMO

É fato conhecido, que mudanças são inerentes a sistemas computacionais. Todo software de sucesso passa por contínuas evoluções seja para atender as novas expectativas dos usúarios, mudanças de hardware e mudanças no ambiente operacional. Contudo, um dos problemas mais signicativos nas atuais práticas de evolução de software é a diculdade dos mantenedores em encontrar seções nos códigos fontes que precisam ser alteradas ou onde novas características precisam ser inseridas. Outro problema consiste nas refatora ções produzidas durante o processo de mudança que também podem representar um desao para a localização de conceitos entre diferentes versões. Neste trabalho é proposto um mecanismo para localização de elementos de código-fonte que servirão de base para inserção de novas funcionalidades em um sistema e para comparação de elementos de código de versões diferentes sob o ponto de vista do conceito que eles implementam. Especicamente, a abordagem proposta baseia-se no alinhamento de duas sequências de chamadas de métodos obtidas da execução de determinadas funcionalidades do sistema. Os pontos de desalinhamento mostram diferenças entre a implementação de duas funcionalidades similares ou a diferença de implementação de uma funcionalidade entre duas versões diferentes do sistem. O método é validado com a análise de resultados na ferramenta CASE ArgoUML. Esta abordagem mostrou-se útil para prover localização de potenciais artefatos do código-fonte que ajudem na compreensão do sistema diminuindo a quantidade de elementos que os desenvolvedores deverão analisar.

ASSUNTO(S)

engenharia reversa análise dinâmica compreensão de programas ciencia da computacao dynamic analysis reverse engineering engenharia de software program comprehension alinhamento de seqüências sequence alignment

Documentos Relacionados