Lossless Reduction of Execution Profiles Using a Genetic Algorithm
Rawad Abou Assi, Wes Masri · 2014
Typically, an execution profile comprises a large number of profiling elements, in the order of thousands or more, amongst which a considerable proportion are redundant. One factor behind this redundancy is likely to be the transitivity relationships induced by control and data dependences. Reducing such redundancy is desirable for several reasons. In this work we propose a reduction mechanism based on a genetic algorithm to eliminate redundancy in execution profiles. Such mechanism is lossless in the sense that the original execution profiles could be entirely inferred from the reduced ones. We evaluated our approach empirically by measuring its impact on two types of analyses that leverage execution profiles, namely clustering and greedy test suite minimization. The experiments we conducted involved 8 subject programs from the SIR repository, each seeded with a number of faults. The results were very promising as the reduction rate ranged from 94% to 99% with a negligible deterioration in the quality of clustering and minimization.