Localização de defeitos evolucionária baseada em fluxo de dados
Nenhuma Miniatura disponível
Data
2020-07-22
Autores
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Federal de Goiás
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.
Descrição
Palavras-chave
Citação
SILVA, D. J. Localização de defeitos evolucionária baseada em fluxo de dados. 2020. 91 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Goiás, Goiânia, 2020.