Uma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estática
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...
Main Author: | |
---|---|
Other Authors: | |
Format: | Others |
Language: | Portuguese |
Published: |
Universidade Federal de Goiás
2016
|
Subjects: | |
Online Access: | http://repositorio.bc.ufg.br/tede/handle/tede/5486 |
id |
ndltd-IBICT-oai-repositorio.bc.ufg.br-tede-5486 |
---|---|
record_format |
oai_dc |
collection |
NDLTD |
language |
Portuguese |
format |
Others
|
sources |
NDLTD |
topic |
Teste de software Teste de mutação Warning Análise estática Analisadores estáticos Software testing Mutants Warnings Static analysis Static analyzer evaluation CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO |
spellingShingle |
Teste de software Teste de mutação Warning Análise estática Analisadores estáticos Software testing Mutants Warnings Static analysis Static analyzer evaluation CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO Araújo, Claudio Antônio de Uma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estática |
description |
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. |
author2 |
Vincenzi, Auri Marcelo Rizzo |
author_facet |
Vincenzi, Auri Marcelo Rizzo Araújo, Claudio Antônio de |
author |
Araújo, Claudio Antônio de |
author_sort |
Araújo, Claudio Antônio de |
title |
Uma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estática |
title_short |
Uma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estática |
title_full |
Uma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estática |
title_fullStr |
Uma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estática |
title_full_unstemmed |
Uma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estática |
title_sort |
uma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estática |
publisher |
Universidade Federal de Goiás |
publishDate |
2016 |
url |
http://repositorio.bc.ufg.br/tede/handle/tede/5486 |
work_keys_str_mv |
AT araujoclaudioantoniode umainvestigacaodacorrespondenciaentremutacoeseavisosrelatadosporferramentadeanaliseestatica AT araujoclaudioantoniode investigatingthecorrespondencebetweenmutationsandstaticwarningsreportedbystaticanalysistool |
_version_ |
1718896569847119872 |
spelling |
ndltd-IBICT-oai-repositorio.bc.ufg.br-tede-54862019-01-21T22:38:10Z 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 Araújo, Claudio Antônio de Vincenzi, Auri Marcelo Rizzo Vincenzi, Auri Marcelo Rizzo Valente, Marco Túlio de Oliveira Lucena, Fábio Nogueira de Teste de software Teste de mutação Warning Análise estática Analisadores estáticos Software testing Mutants Warnings Static analysis Static analyzer evaluation CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO 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. 2016-04-18T13:34:40Z 2015-12-04 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis ARAÚJO, Claudio A. Uma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estática. 2015. 89 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Goiás, Goiânia, 2015. http://repositorio.bc.ufg.br/tede/handle/tede/5486 por -3303550325223384799 600 600 600 -7712266734633644768 -862078257083325301 http://creativecommons.org/licenses/by-nc-nd/4.0/ info:eu-repo/semantics/openAccess application/pdf Universidade 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) reponame:Biblioteca Digital de Teses e Dissertações da UFG instname:Universidade Federal de Goiás instacron:UFG |