Dissertação
Prioritizing Facebook's Infer Static Analysis Tool Warnings EVALUATED
O Infer é uma ferramenta de Análise Estática que analisa código estaticamente e retorna avisos sobre erros e possíveis bugs. O Infer devolve estes avisos aos programadores sem uma ordem especifica e sem atribuir a cada aviso um nível de prioridade. Neste trabalho, focamos-nos no problema relativo ao facto de um número significativo destes avisos possam ser falsos positivos. É importante manter o controlo sobre o número de falsos positivos pelo facto de que eles podem influenciar negativamente os utilizadores deste tipo de ferramentas, fazendo-os perder confiança na própria ferramenta que estão a usar e perder tempo na análise de avisos que na realidade não são erros. Neste trabalho, fazemos uma revisão do estado-da-arte relativo à classificação de avisos provenientes de ferramentas de análise estática e desenvolvemos um Modelo de Linguagem Neuronal, baseado em redes LSTM, capaz de modelar com sucesso o resultado da execução simbólica do Infer, permitindo por sua vez a deteção de padrões que conduzem à origem de avisos que são falsos positivos. Avaliamos este modelo em dois cenários diferentes e considera-se o uso de diferentes técnicas de preparação de dados para o uso de redes LSTM mostrando que esta preparação tem um impacto significativo na precisão da classificação. Em geral, este estudo mostra que o modelo proposto é capaz de identificar corretamente avisos do Infer que são falsos positivos e consequentemente capaz de melhorar a usabilidade e a eficácia da ferramenta de análise estática Infer ao priorizar os avisos que são verdadeiros positivos.
novembro 12, 2020, 16:30
Publicação
Obra sujeita a Direitos de Autor
Orientação
ORIENTADOR
João Fernando Peixoto Ferreira
Departamento de Engenharia Informática (DEI)
Professor Auxiliar
ORIENTADOR
Rui Filipe Lima Maranhão de Abreu
Faculdade de Engenharia da Universidade do Porto
Professor Catedratico