Uma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estática

dc.contributor.advisor1Vincenzi, Auri Marcelo Rizzo
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/0611351138131709por
dc.contributor.referee1Vincenzi, Auri Marcelo Rizzo
dc.contributor.referee2Valente, Marco Túlio de Oliveira
dc.contributor.referee3Lucena, Fábio Nogueira de
dc.creatorAraújo, Claudio Antônio de
dc.creator.Latteshttp://lattes.cnpq.br/9455733788398173por
dc.date.accessioned2016-04-18T13:34:40Z
dc.date.issued2015-12-04
dc.description.abstractTraditionally, 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.eng
dc.description.resumoConsiderando 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.por
dc.formatapplication/pdf*
dc.identifier.citationARAÚ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.por
dc.identifier.urihttp://repositorio.bc.ufg.br/tede/handle/tede/5486
dc.languageporpor
dc.publisherUniversidade Federal de Goiáspor
dc.publisher.countryBrasilpor
dc.publisher.departmentInstituto de Informática - INF (RG)por
dc.publisher.initialsUFGpor
dc.publisher.programPrograma de Pós-graduação em Ciência da Computação (INF)por
dc.rightsAcesso Abertopor
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/
dc.subjectTeste de softwarepor
dc.subjectTeste de mutaçãopor
dc.subjectWarningpor
dc.subjectAnálise estáticapor
dc.subjectAnalisadores estáticospor
dc.subjectSoftware testingeng
dc.subjectMutantseng
dc.subjectWarningseng
dc.subjectStatic analysiseng
dc.subjectStatic analyzer evaluationeng
dc.subject.cnpqCIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAOpor
dc.titleUma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estáticapor
dc.title.alternativeInvestigating the correspondence between mutations and static warnings reported by static analysis tooleng
dc.typeDissertaçãopor

Arquivos

Pacote Original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
Dissertação - Cláudio Antônio de Araújo - 2015.pdf
Tamanho:
6.18 MB
Formato:
Adobe Portable Document Format
Descrição:

Licença do Pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
2.11 KB
Formato:
Item-specific license agreed upon to submission
Descrição: