A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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:

Apresentações semelhantes


Apresentação em tema: "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:"— Transcrição da apresentação:

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 Costa e Silva Orientador: Marcelo de Almeida Maia Linha de Pesquisa: Engenharia de Software 1

2 Contextualização Manutençã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 2

3 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

4 Fundamentos teóricos Caracterí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 4

5 MELHORAR A COMPREENSÃO DO SISTEMA
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 5

6 Proposta do trabalho 6

7 SUBCONJUNTOS DE ELEMENTOS DO RASTRO
Como fazer? Executar uma característica para duas versões A e B do sistema em análise. RÓTULO 1 Rastro de execução de uma característica do sistema em estudo RÓTULO 2 DESENVOLVEDOR RÓTULO 3 ... ... ... ... ... ... SUBCONJUNTOS DE ELEMENTOS DO RASTRO (SUB-RASTRO) RÓTULOS SEMÂNTICOS 7

8 Funcionalidade relativa a colocar palavras selecionadas
Na prática… jEdit Funcionalidade relativa a colocar palavras selecionadas em maiúsculo

9 Executando a característica para coleta de rastros

10 RÓTULO1: CLICK ON MENU EDIT RÓTULO2: MOUSE OVER SUBITEM TEXT OF MENU EDIT RÓTULO3: UPPERCASE LOWER CASE ACTION SUBITEM MENU EDIT/TEXT

11 Conjuntos de elementos (métodos) do sub-rastro
Versão B Versão A IDEM…

12 Analisando somente o que sofreu alteração entre duas versões A e B de determinado software…

13 Isolar o que foi alterado no subconjunto do rastro com RÓTULO 1
DE ELEMENTOS DO RASTRO PARA VERSÃO B SUBCONJUNTO DE ELEMENTOS DO RASTRO PARA VERSÃO A VERIFICAR ALTERAÇÕES 13

14 PARA SUB-RASTRO COM RÓTULO 1
Elementos do sub-rastro que representam o código fonte alterado ELEMENTOS DE RASTRO FILTRADOS PARA O SUB-RASTRO COM ROTÚLO1 SEPARAR CÓDIGO CÓDIGO FONTE ALTERADO PARA SUB-RASTRO COM RÓTULO 1 14

15 COM VALOR SEMÂNTICO AGREGADO
Enriquecento o código fonte com elementos semânticos CÓDIGO FONTE ALTERADO PARA SUB-RASTRO COM RÓTULO 1 CÓDIGO FONTE ALTERADO COM VALOR SEMÂNTICO AGREGADO PARA SUB-RASTRO COM RÓTULO 1 ADICIONAR VALOR SEMÂNTICO RÓTULO 1 RÓTULO 2 RÓTULO 3 15

16 COM VALOR SEMÂNTICO AGREGADO
Processo análogo com os demais sub-rastros CÓDIGO FONTE ALTERADO PARA SUB-RASTRO COM RÓTULO 2 CÓDIGO FONTE ALTERADO COM VALOR SEMÂNTICO AGREGADO PARA SUB-RASTRO COM RÓTULO 2 ADICIONAR VALOR SEMÂNTICO RÓTULO 1 RÓTULO 2 RÓTULO 3 16

17 COM VALOR SEMÂNTICO AGREGADO
Processo análogo com os demais sub-rastros CÓDIGO FONTE ALTERADO PARA SUB-RASTRO COM RÓTULO 3 CÓDIGO FONTE ALTERADO COM VALOR SEMÂNTICO AGREGADO PARA SUB-RASTRO COM RÓTULO 1 ADICIONAR VALOR SEMÂNTICO RÓTULO 1 RÓTULO 2 RÓTULO 3 17

18 Configuração final: código fonte alterado com valor semântico agregado
18

19 Próximo passo... LSI PARÂMETROS PARA CONSULTA DOCUMENTAÇÃO DO SISTEMA
DESENVOLVEDOR CÓDIGO FONTE RETORNADO CONSULTA DE INTERESSE CÓDIGO FONTE ALTERADO COM VALOR SEMÂNTICO AGREGADO ESPAÇO VETORIAL SEMÂNTICO LSI 19

20 Avaliação da pesquisa LSI
CÓDIGO FONTE ALTERADO SEM VALOR SEMÂNTICO AGREGADO CÓDIGO FONTE ALTERADO COM VALOR SEMÂNTICO AGREGADO DESENVOLVEDOR DOCUMENTAÇÃO LSI CONSULTA ENVOLVENDO ALGUM TERMO DO RÓTULO 1 LSI ESPAÇO VETORIAL SEMÂNTICO ESPAÇO VETORIAL SEMÂNTICO RESULTADO 1 RESULTADO 2 20

21 Resultados esperados X X RESULTADO 1 RESULTADO 2
1° cod_font1.java 2° cod_font4.java RESULTADO 2 1° cod_font4.java 2° cod_font2.java 3° cod_font9.java 4° cod_font1.java ANÁLISE COMPARATIVA MENOS resultados retornados na consulta. MAIS resultados retornados na consulta. X 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 21

22 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). 22

23 Sugestões/perguntas ? 23


Carregar ppt "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:"

Apresentações semelhantes


Anúncios Google