Publication | Closed Access
Evolutionary testing in the presence of loop-assigned flags
110
Citations
34
References
2004
Year
Unknown Venue
EngineeringGeneticsTest Data GenerationSoftware EngineeringSoftware AnalysisGenetic AlgorithmEvolutionary TestingTest GenerationTesting TechniqueGenetic VariationComputer ScienceGenetic Algorithm FloundersGenetic Improvement ProgrammingPopulation GeneticsMutation-based TestingProgram AnalysisSoftware TestingEvolutionary BiologyCombinatorial Testing WorkflowTest EvolutionMedicine
Evolutionary testing is an effective technique for automatically generating good quality test data. However, for structural testing, the technique degenerates to random testing in the presence of flag variables, which also present problems for other automated test data generation techniques. Previous work on the flag problem does not address flags assigned in loops.This paper introduces a testability transformation that transforms programs with loop--assigned flags so that existing genetic approaches can be successfully applied. It then presents empirical data demonstrating the effectiveness of the transformation. Untransformed, the genetic algorithm flounders and is unable to find a solution. Two transformations are considered. The first allows the search to find a solution. The second reduces the time taken by an order of magnitude and, more importantly, reduces the slope of the cost increase; thus, greatly increasing the complexity of the problem to which the genetic algorithm can be applied. The paper also presents a second empirical study showing that loop--assigned flags are prevalent in real world code. They account for just under 11% of all flags.
| Year | Citations | |
|---|---|---|
Page 1
Page 1