Análise de Evolução de software para recuperação da rastreabilidade entre documentação e...
Transcript of Análise de Evolução de software para recuperação da rastreabilidade entre documentação e...
![Page 1: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/1.jpg)
Análise de Evolução de software para
recuperação da rastreabilidade entre
documentação e código fonte baseada em
modelos de características
Aluno: Allysson Costa e SilvaOrientador: Marcelo de Almeida MaiaLinha de Pesquisa: Engenharia de Software
![Page 2: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/2.jpg)
ContextualizaçãoManutenção de software
Funcionalidades do sistema de software com defeitos Funcionalidades a serem adicionadas/alteradas
Espalhamento da implementação A implementação das funcionalidades perpassam
vários componentes do sistema como métodos, classes e pacotes
Necessidade de compreensão da implementação Novos desenvolvedores Código antigo(legado)
Compreensão dos pontos alterados entre diferentes versões do sistema
![Page 3: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/3.jpg)
Caracterização do problema Rastreabilidade entre documentação e código fonte não documentada
Dificuldade de focalização em partes específicas do código fonte durante a manutenção
Distância sintática e semântica entre os vocabulários presentes no código fonte e documentação
![Page 4: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/4.jpg)
Fundamentos teóricosCaracterísticas (features)
Funcionalidades presentes no software que podem ser observadas e controladas em tempo de execução pelos usuários finais
Comunicação entre usuários e desenvolvedores em razão das funcionalidades do sistema
Uma importante ferramenta para modelagem de conceitos do domínio do problema e para a engenharia reversa
LSI (Latent Semantic Indexing) Técnica para Recuperação de Informação Espaço vetorial semântico Medir a similaridade entre termos e documentos
![Page 5: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/5.jpg)
Objetivos do trabalho
Recuperar a rastreabilidade entre código fonte e documentação com foco nas partes alteradas entre duas versões do sistema em
análise
Gerar uma aproximação entres os vocabulários presentes no código fonte e na
documentação do sistema
MELHORAR A COMPREENSÃO DO SISTEMA
![Page 6: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/6.jpg)
Proposta do trabalho
![Page 7: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/7.jpg)
Como fazer?
Rastro de execução de
uma característicado sistema em estudo
...
...
SUBCONJUNTOS DE ELEMENTOS DO RASTRO
(SUB-RASTRO)
...
...
RÓTULO 1
...
...RÓTULOS
SEMÂNTICOS
Executar uma característica para duas versões A e B do sistema em análise.
DESENVOLVEDOR
RÓTULO 2
RÓTULO 3
![Page 8: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/8.jpg)
Na prática…
jEdit
Funcionalidade relativa a colocar palavras selecionadas
em maiúsculo
![Page 9: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/9.jpg)
Executando a característica para coleta de rastros
![Page 10: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/10.jpg)
RÓTULO1: CLICK ON MENU EDIT
RÓTULO2:MOUSE OVER SUBITEM TEXT OF MENU EDIT
RÓTULO3:UPPERCASE LOWER CASE ACTIONSUBITEM MENU EDIT/TEXT
![Page 11: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/11.jpg)
Conjuntos de elementos (métodos) do sub-rastro
IDEM…
![Page 12: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/12.jpg)
Analisando somente o que sofreu alteração entre duas versões A e
B de determinado software…
![Page 13: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/13.jpg)
Isolar o que foi alterado no subconjunto do rastro com RÓTULO 1
SUBCONJUNTO DE ELEMENTOS
DO RASTRO PARA VERSÃO A
SUBCONJUNTO DE ELEMENTOS
DO RASTRO PARA
VERSÃO B
VERIFICAR ALTERAÇÕES
![Page 14: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/14.jpg)
Elementos do sub-rastro que representam o código fonte alterado
SEPARARCÓDIGO
ELEMENTOS DE RASTRO FILTRADOS
PARA O
SUB-RASTRO
COM ROTÚLO1
CÓDIGO FONTE ALTERADOPARA SUB-RASTRO COM RÓTULO 1
![Page 15: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/15.jpg)
Enriquecento o código fonte com elementos semânticos
ADICIONARVALOR
SEMÂNTICO
RÓTULO 1
RÓTULO 2
RÓTULO 3
CÓDIGO FONTE ALTERADO COM VALOR SEMÂNTICO AGREGADO
PARA SUB-RASTRO COM RÓTULO 1
CÓDIGO FONTE ALTERADO
PARA SUB-RASTRO COM RÓTULO 1
![Page 16: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/16.jpg)
Processo análogo com os demais sub-rastros
ADICIONARVALOR
SEMÂNTICO
RÓTULO 1
RÓTULO 2
RÓTULO 3
CÓDIGO FONTE ALTERADO COM VALOR SEMÂNTICO AGREGADO
PARA SUB-RASTRO COM RÓTULO 2
CÓDIGO FONTE ALTERADO
PARA SUB-RASTRO COM RÓTULO 2
![Page 17: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/17.jpg)
Processo análogo com os demais sub-rastros
ADICIONARVALOR
SEMÂNTICO
RÓTULO 1
RÓTULO 2
RÓTULO 3
CÓDIGO FONTE ALTERADO COM VALOR SEMÂNTICO AGREGADO
PARA SUB-RASTRO COM RÓTULO 1
CÓDIGO FONTE ALTERADO
PARA SUB-RASTRO COM RÓTULO 3
![Page 18: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/18.jpg)
Configuração final: código fonte alterado com valor semântico agregado
![Page 19: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/19.jpg)
Próximo passo... LSI
DESENVOLVEDORDOCUMENTAÇÃO
DO SISTEMA
ESPAÇO VETORIAL SEMÂNTICO
CÓDIGO FONTE ALTERADO COM VALOR SEMÂNTICO AGREGADO
LSI
PARÂMETROS PARA CONSULTA
CONSULTADE INTERESSE
CÓDIGO FONTERETORNADO
![Page 20: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/20.jpg)
Avaliação da pesquisa LSI
CONSULTAENVOLVEND
OALGUM TERMO
DO RÓTULO 1
RESULTADO 1
LSILSI
RESULTADO 2
DESENVOLVEDOR
DOCUMENTAÇÃO
ESPAÇO VETORIALSEMÂNTICO
ESPAÇO VETORIALSEMÂNTICO
CÓDIGO FONTE ALTERADO SEMVALOR SEMÂNTICO AGREGADO
CÓDIGO FONTE ALTERADO COMVALOR SEMÂNTICO AGREGADO
![Page 21: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/21.jpg)
Resultados esperados
RESULTADO 11°.........cod_font1.java2°.........cod_font4.java
RESULTADO 21°.........cod_font4.java2°.........cod_font2.java3°.........cod_font9.java4°.........cod_font1.java
MENOS resultados retornados na consulta.
MAIS resultados retornados na consulta.X
ANÁLISE COMPARATIVA
EXEMPLO: SUPONDO QUE cod_font4.java seja mais relevante para a pesquisa.
Posição (ranking) com MENOR precisão.
Posição (ranking) com MAIOR precisão.X
![Page 22: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/22.jpg)
Considerações Finais
O estudo de caso utilizará 3 softwares de código aberto que possuam disponíveis:
repositório de versões; documentação (notas de versão, relatórios de
correção de erros, requisição de mudanças e quaisquer documentações que espelhem mudanças no sistema).
Análise dos resultados da consulta LSI a partir de medidas como revocação (recall) e precisão (precision).
![Page 23: Análise de Evolução de software para recuperação da rastreabilidade entre documentação e código fonte baseada em modelos de características Aluno: Allysson.](https://reader035.fdocument.pub/reader035/viewer/2022081518/552fc132497959413d8d6a1e/html5/thumbnails/23.jpg)
Sugestões/perguntas
?