Return to search

Uma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estática / Investigating the correspondence between mutations and static warnings reported by static analysis tool

Submitted by Luciana Ferreira (lucgeral@gmail.com) on 2016-04-18T13:33:01Z
No. of bitstreams: 2
Dissertação - Cláudio Antônio de Araújo - 2015.pdf: 6483664 bytes, checksum: bf12aa2fbdc30e9456d8036d9cc24fd1 (MD5)
license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) / Approved for entry into archive by Luciana Ferreira (lucgeral@gmail.com) on 2016-04-18T13:34:40Z (GMT) No. of bitstreams: 2
Dissertação - Cláudio Antônio de Araújo - 2015.pdf: 6483664 bytes, checksum: bf12aa2fbdc30e9456d8036d9cc24fd1 (MD5)
license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) / Made available in DSpace on 2016-04-18T13:34:40Z (GMT). No. of bitstreams: 2
Dissertação - Cláudio Antônio de Araújo - 2015.pdf: 6483664 bytes, checksum: bf12aa2fbdc30e9456d8036d9cc24fd1 (MD5)
license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5)
Previous issue date: 2015-12-04 / Traditionally, mutation testing is used for test set and/or test criteria evaluation
once it is considered a good fault model. Since static analyzers, in general, report a
substantial number of false positive warnings,
Objective: This paper uses mutation testing for evaluating an automated static analyzer.
The intention of this study is to define a prioritization approach of static warnings based
on their correspondence with mutations.
Method: We used mutation operators as a fault model to evaluate the direct correspondence
between mutations and static warnings. The main advantage of using mutation operators
is that they generate a large number of programs containing faults of different types,
which can be used to decide the ones most probable to be detected by static analyzers.
Results: The results obtained for a set of open-source programs indicate that: 1) correspondence
exists when considering specific mutation operators such that static warnings
may be prioritized based on their correspondence level with mutations; 2) correspondence
exists when considering specific warning categories such that, assuming we perform static
analysis considering these warning categories, mutation operators may be prioritized
based on their correspondence level with warnings.
Conclusion: It is possible to provide an incremental testing strategy aiming at reducing
the cost of both static analysis and mutation testing using the correspondence information.
On the other hand, knowing that Mutation Test has a high application cost, we identified
mutations of some specific mutation operators, which an automatic static analyzer is not
able to detect. Therefore, this information can used to prioritize the order of applying
mutation operators incrementally considering, firstly, those with no correspondence with
static warnings. / Considerando que: 1) analisadores estáticos automatizados são ferramentas
que emitem avisos, sem que seja necessário a execução do produto de software correspondente,
alertando sobre a presença de possíveis defeitos no código. Uma das críticas a
tais ferramentas é a grande quantidade de avisos falsos positivos emitidos, isto é, avisos
relatados que não correspondem a defeitos reais, mas demandam tempo de análise por
parte do desenvolvedor; 2) tradicionalmente, o Teste de Mutação tem sido utilizado para
avaliar (e melhorar) a qualidade de conjuntos de casos de teste e/ou de critérios de teste,
uma vez que é considerado um bom gerador de defeitos de software.
Objetivo: O objetivo do presente trabalho é investigar a correspondência entre avisos
estáticos e mutações e, com isso, verificar quais avisos estão mais relacionados a esses
possíveis defeitos (mutações) e, assim, possivelmente, serem avisos verdadeiros positivos.
Método: Os operadores de mutação são utilizados neste trabalho como um modelo de
defeitos para avaliar a correspondência entre mutações e avisos estáticos. A principal
vantagem da utilização de operadores de mutação é que eles geram um grande número de
programas com defeitos de diferentes tipos. Esses tipos de defeitos são usados em estudos
experimentais para investigar a capacidade dos analisadores estáticos em detectá-los.
Resultados: Os resultados obtidos com estudos experimentais para um conjunto de
sistemas de código aberto indicam que existe correspondência quando são considerados
alguns operadores de mutação da μJava e alguns tipos de avisos da FindBugs.
Conclusão: Os resultados obtidos podem ser utilizados de duas maneiras distintas:
Primeiro, é fornecida uma abordagem de análise incremental dos avisos, de acordo com
o grau de correspondência com mutações. Segundo, com o objetivo de reduzir o custo do
Teste de Mutação é fornecida uma abordagem de priorização incremental para análise dos
mutantes dos operadores cujas mutações são menos “percebidas” pela FindBugs.

Identiferoai:union.ndltd.org:IBICT/oai:repositorio.bc.ufg.br:tede/5486
Date04 December 2015
CreatorsAraújo, Claudio Antônio de
ContributorsVincenzi, Auri Marcelo Rizzo, Vincenzi, Auri Marcelo Rizzo, Valente, Marco Túlio de Oliveira, Lucena, Fábio Nogueira de
PublisherUniversidade Federal de Goiás, Programa de Pós-graduação em Ciência da Computação (INF), UFG, Brasil, Instituto de Informática - INF (RG)
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Formatapplication/pdf
Sourcereponame:Biblioteca Digital de Teses e Dissertações da UFG, instname:Universidade Federal de Goiás, instacron:UFG
Rightshttp://creativecommons.org/licenses/by-nc-nd/4.0/, info:eu-repo/semantics/openAccess
Relation-3303550325223384799, 600, 600, 600, -7712266734633644768, -862078257083325301

Page generated in 0.0027 seconds