Date post: | 10-Jul-2015 |
Category: |
Software |
Upload: | avelino-ferreira-gomes-filho |
View: | 76 times |
Download: | 3 times |
Recovering from a decade: a systematic mapping of information
retrieval approaches to software traceability
Avelino Ferreira Gomes Filho
Rastreabilidade de software através de Recuperação da
Informação
Porque falar disso?
“Software é um local onde sonhos são plantados e pesadelos são colhidos, um pântano abstrato e místico onde terríveis demônios competem em
uma panaceia mágica, um mundo de lobisomens e balas de prata.”
Roger S. Pressman apud Brad J. Cox (2010)Software Engineering: A Practitioner’s Approach, 7th Ed.
Expectativa
Processo de Negócio
Regras de Negócio
TestesCódigo-
fonteBinário
Realidade
Rastreabilidade
• Uma das formas de aumentar a qualidade do software é manter a ligação entre
– Código-fonte
– Regras de Negócio
– Processos de Negócio
– Requisitos
– Change Request
– Etc.
Rastreabilidade
“A habilidade de interrelacionar qualquer artefato de engenharia de software que possa
ser unicamente identificado; manter as ligações entre eles através do tempo; e utilizar a rede de interrelacionamento para responder a perguntas
do produto de software e do processo de desenvolvimento”.
Cleland-Huang et al. Apud CoEST (2014)Software Traceability: Trends and Future Directions
Proc. of the 36th International Conference on Software Engineering (ICSE)
Rastreabiliade
Não é uma tarefa trivial
Fazer Rastreabilidade manualmente
Planilhas
Software
http://www.chambers.com.au/glossary/traceability_matrix.php
http://www.ibm.com/developerworks/rational/library/5347.html
Fazer Rastreabilidade manualmente
Boring
Error Prone
Exemplo
O ARTIGO
O Artigo
• Escrito por:
– Borg, Markus
– Runeson, Per
– Ardö, Anders
• Em 2013
• Publicado na Springer - Empirical Software Engineering
• DOI: 10.1007/s10664-013-9255-y
O Artigo
• Você deve ler esse artigo porque...
– está interessado no tema Rastreabilidade e Recuperação da Informação.
– a introdução é um excelente glossário com referências sobre Recuperação da Informação
– o artigo descreve muito bem como fazer um mapeamento sistemático.
Introdução (Glossário com Referências)
Dataset
Bag-of-Words
Natural Language and NL Processing
Algebraic-IR
Vector Space Model
Binary and Frequency Terms
TF-IDF
Latent Semantic Indexing
Rocchio Method
Binary Independence Retrieval
Probabilistic IR
Probabilistic Inference Network
Statistical Language Models
Thesaurus
Precision – Recall
Recovery Effort Index
Mean Average Precision
Discounted Cumulative Gain
ETC…
OBJETIVOS DA PESQUISA
O Artigo
Objetivo fazer um mapeamento sistemático dos modelos de Recuperação da Informação
utilizados para Rastreabilidade de Software.
O Artigo
Eles não propõem um novo Modelo
A contribuição do artigo foi o amplo estudo realizado sobre mais de 1000 trabalhos sobre
quais são os modelos de RI utilizados para realizar Rastreabilidade
Perguntas da Pesquisa
RQ1 Quais modelos de Recuperação daInformação e estratégias de aprimoramento(enhance) são mais utilizadas para fazerrastreabilidade em artefatos de software emLinguagem Natural?
Perguntas da Pesquisa
RQ2 Quais os tipos de artefatos em LinguagemNatural que são ligados com maior frequênciaem estudos de Rastreabilidade comRecuperação da Informação?
Perguntas da Pesquisa
RQ3 Quão forte são as evidências com relaçãoao grau de realismo das avaliações dos sistemasde Rastreabilidades feito com Recuperação daInformação?
TRABALHOS RELACIONADOS
Trabalho Relacionados
• IR-Based Trace Recovery
– Borillo et al. 1992
• O primeiro trabalho a utilizar técnicas de Processamento de Linguagem Natural e Inteligência artificial para rastreabilidade.
Os mais relevantes
Trabalho Relacionados
• IR-Based Trace Recovery
– De Lucia et al. (2002 – 2014)
• Criação de N ferramentas de Rastreabilidade por RI.
• SCOTCH: Slicing and COupling based Test to Code trace Hunter (2014)– Rastreabilidade entre Classes do Sistema e Classes de Testes
– Uso de Stop Class
– Conceptual Coupling Between Classes (CCBC)
Os mais relevantes
Trabalho Relacionados
• IR-Based Trace Recovery
– Baeza-Yates R, Ribeiro-Neto B. (2011)
• Pré-processamento
• Tratamento de camelCase, under_score convention, etc.
Os mais relevantes
Trabalho Relacionados
• Previous Overviews on IR-Based Trace Recovery
– Mapeamentos Sistemáticos sobre Rastreabilidadee RI
– Cleland-Huang et al. (2012)
– De Lucia (2009 – 2012)
– “Nossa análise é mais estruturada e vai mais fundo com um escopo mais estreito”.
Os mais relevantes
MÉTODO DE PESQUISA
Método de Pesquisa
Criação do Protocolo de Pesquisa
Seleção das Publicações
Extração de dados e
mapeamento das publicações
Método de Pesquisa
• Parâmetros para Inclusão de Artigos– Em inglês, Revisada por pares, Resultados
Empíricos sobre o tema.
• Parâmetros para Exclusão de Artigos– Publicações que discutiam mais sobre outras
formas de rastreabilidade do que por RI.
– Publicações que discutiam sobre RI, mas falavam pouco ou nada de rastreabilidade.
Criação do Protocolo de Pesquisa
Seleção das Publicações
Extração de dados e
mapeamento das publicações
Método de Pesquisa
• Definição das bases de pesquisa
• Definição dos termos de Pesquisa
• Remoção de trabalhos duplicados
• Refinamento
– De: 1.241 publicações
– Para: 76 publicações
Criação do Protocolo de Pesquisa
Seleção das Publicações
Extração de dados e
mapeamento das publicações
Método de Pesquisa
• Extração das contribuições das publicações relevantes
• Mapeamento
Criação do Protocolo de Pesquisa
Seleção das Publicações
Extração de dados e
mapeamento das publicações
RESULTADO
Modelos de Recuperação da Informação aplicados à Rastreabilidade (RQ1)
Estado da Arte
Document Parsing, Extraction and Pre-Processing
Corpus indexing with an IR method
Ranked list generation
Enhance and Analysis of candidate links
Document Parsing, Extraction and Pre-Processing
Document Parsing, Extraction and Pre-Processing
• Stop words: a, an, to, it...
– Stop Class: java.lang.*, org.junit.*
• Stemming: produce, producing, produced, producer
• ID Splitting: Tratamento de camelCase e padrões de codificação
– Baeza-Yates R, Ribeiro-Neto B (2011)
• Google Translator
Indexing, Filtering and Retrieval
Indexing, Filtering and Retrieval
• Modelos Algébricos
– Relevância de um documento para o resultado de uma consulta depende da sua semelhança com o termo procurado
– Uso de formas algébricas de representação de semelhança.
– Ex.: Uso do Cosseno em VSM
• Modelos Probabilísticos
– Qual a probabilidade desse documento ser relevante para essa pesquisa?
– Dado um termo de busca o documento pode ou não ser relevante
– O sistema não pode ter certeza sobre o real status de relevância do documento.
Zhai C (2007) Abrief review of information retrievalmodels. Technicalreport,University of Illinois at Urbana-Champaign
Ranking
Enhance and Analyze
Enhance and Analyze
• Relevance Feedback
– Há indícios de que humanos raramente consideram mais de 10 links candidatos.
Borg M, Pfahl D(2011) Do better IRtools improve the accuracy of engineers’ traceability recovery? In: Proceedings of the international workshop on machine learning technologies in software engineering, pp 27–34
RESULTADO
Tipos de artefatos ligados (RQ2)
Artefatos Ligados
RESULTADO
Nível de Evidência (RQ3)
MINHA ANÁLISE
Minha Análise
• É um estudo bem abrangente sobre Rastreabilidade através de RI.
• Serve como uma grande fonte de referências de RI.
• Não se aprofunda em nenhum modelo específico
– O que era esperado por se tratar de um SM.
– Mesmo assim ele apresenta o Estado da arte.
Dúvidas?
Feedback!