The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
The chaining approach for software test data generation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automated program flaw finding using simulated annealing
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
Generating Software Test Data by Evolution
IEEE Transactions on Software Engineering
Fitness Function Design To Improve Evolutionary Structural Testing
GECCO '02 Proceedings of the Genetic and Evolutionary Computation Conference
Improving Evolutionary Testing By Flag Removal
GECCO '02 Proceedings of the Genetic and Evolutionary Computation Conference
IEEE Transactions on Software Engineering
Evolutionary testing of state-based programs
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Stress testing real-time systems with genetic algorithms
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Search-based software test data generation: a survey: Research Articles
Software Testing, Verification & Reliability
A unified fitness function calculation rule for flag conditions to improve evolutionary testing
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Automated Unique Input Output Sequence Generation for Conformance Testing of FSMs
The Computer Journal
Proceedings of the 2007 international symposium on Software testing and analysis
A multi-objective approach to search-based test data generation
Proceedings of the 9th annual conference on Genetic and evolutionary computation
Automatic Generation of Floating-Point Test Data
IEEE Transactions on Software Engineering
Hi-index | 0.01 |
A well-designed fitness function is essential to the effectiveness and efficiency of evolutionary testing. Fitness function design has been researched extensively. For fitness calculation, so far the switchcase construct has been regarded as a nested if-else structure with respect to the control flow. Given a target embraced in a case branch, test data taking different case branches receive different approximation levels. Since the approximation levels received by test data do not evaluate their suitability accurately, the guidance provided by the existing approach to evolutionary search is misleading or lost. Despite the switch-case construct.s wide use in industrial applications, no previous work has addressed this problem. In this paper, a Flattened Control Flow Graph and a Flattened Control Dependence Graph for the switch-case construct are first presented, and a unified fitness calculation approach based on Alternative Critical Branches is proposed for the switch-case and other constructs. The concept of Alternative Critical Branches is extended from the single critical branch. Experiments on several large-scale open source programs demonstrate that this approach contributes a much better guidance to evolutionary search.