Resumo apresentado na Matéria de Recuperação e Recomendação de Informação do PPGI 2014. Um resumo do Artigo de Borg, Runeson e Ardo (com pitadas da minha experiência profissional). Nesse artigo os autores falam sobre Rastreabilidade de Software feita de forma automatizada através de Modelos e Técnicas de Recuperação da Informação.
4. “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.
8. 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.
9. 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)
15. 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
16. 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.
17. 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…
19. O Artigo
Objetivo fazer um mapeamento sistemático dos
modelos de Recuperação da Informação
utilizados para Rastreabilidade de Software.
20. 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
21. Perguntas da Pesquisa
RQ1 Quais modelos de Recuperação da
Informação e estratégias de aprimoramento
(enhance) são mais utilizadas para fazer
rastreabilidade em artefatos de software em
Linguagem Natural?
22. Perguntas da Pesquisa
RQ2 Quais os tipos de artefatos em Linguagem
Natural que são ligados com maior frequência
em estudos de Rastreabilidade com
Recuperação da Informação?
23. Perguntas da Pesquisa
RQ3 Quão forte são as evidências com relação
ao grau de realismo das avaliações dos sistemas
de Rastreabilidades feito com Recuperação da
Informação?
25. Trabalho Relacionados
• IR-Based Trace Recovery
– Borillo et al. 1992
Os mais relevantes
• O primeiro trabalho a utilizar técnicas de
Processamento de Linguagem Natural e Inteligência
artificial para rastreabilidade.
26. Trabalho Relacionados
• IR-Based Trace Recovery
– De Lucia et al. (2002 – 2014)
Os mais relevantes
• 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)
27. Trabalho Relacionados
• IR-Based Trace Recovery
– Baeza-Yates R, Ribeiro-Neto B. (2011)
Os mais relevantes
• Pré-processamento
• Tratamento de camelCase, under_score convention,
etc.
28. Trabalho Relacionados
Os mais relevantes
• Previous Overviews on IR-Based Trace
Recovery
– Mapeamentos Sistemáticos sobre Rastreabilidade
e RI
– Cleland-Huang et al. (2012)
– De Lucia (2009 – 2012)
– “Nossa análise é mais estruturada e vai mais
fundo com um escopo mais estreito”.
30. Método de Pesquisa
Criação do Protocolo de
Pesquisa
Seleção das
Publicações
Extração de
dados e
mapeamento
das publicações
31. Método de Pesquisa
Criação do Protocolo de
Pesquisa
• Parâmetros para Inclusão de Artigos
Seleção das
Publicações
– Em inglês, Revisada por pares, Resultados
Empíricos sobre o tema.
• Parâmetros para Exclusão de Artigos
Extração de
dados e
mapeamento das
publicações
– 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.
32. 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
33. Método de Pesquisa
Criação do Protocolo de
Pesquisa
Seleção das
Publicações
• Extração das contribuições das publicações
relevantes
• Mapeamento
Extração de
dados e
mapeamento das
publicações
35. Estado da Arte
Document Parsing, Extraction
and Pre-Processing
Corpus indexing with an IR
method
Ranked list generation
Enhance and Analysis of
candidate links
37. 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
39. 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. Technical
report,University of Illinois at Urbana-Champaign
42. 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
48. 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.