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: Allysson.

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: Allysson."— 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

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

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

5 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

6 Proposta do trabalho

7 Como fazer? Rastro de execução de uma característica do 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

8 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 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 SUBCONJUNTO DE ELEMENTOS DO RASTRO PARA VERSÃO A SUBCONJUNTO DE ELEMENTOS DO RASTRO PARA VERSÃO B VERIFICAR ALTERAÇÕES

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

15 Enriquecento o código fonte com elementos semânticos ADICIONAR VALOR 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

16 Processo análogo com os demais sub-rastros ADICIONAR VALOR 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

17 Processo análogo com os demais sub-rastros ADICIONAR VALOR 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

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

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

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

21 Resultados esperados RESULTADO 1 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 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

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

23 Sugestões/perguntas ?


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: Allysson."

Apresentações semelhantes


Anúncios Google