Detalhes bibliográficos
Ano de defesa: |
2020 |
Autor(a) principal: |
Silva Junior, Deuslirio da
 |
Orientador(a): |
Leitão Junior, Plínio de Sá
 |
Banca de defesa: |
Leitão Junior, Plínio de Sá,
Soares, Telma Woerle de Lima,
Chaim, Marcos Lordello |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Universidade Federal de Goiás
|
Programa de Pós-Graduação: |
Programa de Pós-graduação em Ciência da Computação (INF)
|
Departamento: |
Instituto de Informática - INF (RG)
|
País: |
Brasil
|
Palavras-chave em Português: |
|
Palavras-chave em Inglês: |
|
Área do conhecimento CNPq: |
|
Link de acesso: |
http://repositorio.bc.ufg.br/tede/handle/tede/10730
|
Resumo: |
Context- Fault localization is the activity of precisely indicating the faulty commands ina buggy program. This is an activity known to be too costly and monotonous. Automatingthis process has been the objective of several studies, having proved to be a challengingproblem. A common strategy is to associate a suspiciousness value to each command inthe code. Most methods, which use this strategy, are heuristics that use the commandsexecuted during the software test as an information source. These approaches are knownto be based on the control-flow coverage spectrum.Objective- The present study seeks toinvestigate another source of information about faults, the data-flow, which is expressedby the relationship between the places of definition and places of use of variables. How thedata-flow can contribute to fault localization and how to use it in evolutionary strategiesare interests of this work.Approach- Two evolutionary approaches are presented, onebased on a genetic algorithm (GA) that seeks to combine different heuristics using control-flow and also data-flow as a sources of information about faults. And another, based ongenetic programming (GP), which uses new variables that express the data-flow coveragespectrum, to generate new equations, more fitted to fault localization.Results- The GAapproach was evaluated in 7 small C programs that make up theSiemens Suite,benchmarkwidely used in similar approaches, and also in a set of faulty versions of the Java programjsoup. The evaluation metrics used describe the effectiveness from an absolute pointof view, as well as the dependence on tiebreak strategies. In this context, although theapproach using only data-flow produces competitive results, the hybrid approach (control-flow and data-flow) stands out for maintaining good results in terms of effectiveness, andstill being less dependent on tiebreakers. The GP approach in turn was investigated foreffectiveness using popular metrics in this context, and also for efficiency, by countingthe cycles of executions (generations) necessary to present competitive results. Again, thehybrid strategy stands out for producing the same results as other methods, but requiringless generations to do so.Conclusions- The results of both approaches highlight thatalthough data-flow has good effectiveness in locating defects, hybrid strategies, usingcontrol- and data-flow as sources of information about defects, generally outperforms allthe methods used as a comparison. However, further investigations must be conducted indifferent sets of programs. |