Software engineering (3rd ed.): a practitioner's approach
Software engineering (3rd ed.): a practitioner's approach
Automated program flaw finding using simulated annealing
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
Automated test-data generation for exception conditions
Software—Practice & Experience
Fitness Function Design To Improve Evolutionary Structural Testing
GECCO '02 Proceedings of the Genetic and Evolutionary Computation Conference
A Static Study of Java Exceptions Using JESP
CC '00 Proceedings of the 9th International Conference on Compiler Construction
Automated Support for Development, Maintenance, and Testing in the Presence of Implicit Control Flow
Proceedings of the 26th International Conference on Software Engineering
An uncaught exception analysis for Java
Journal of Systems and Software
Search-based software test data generation: a survey: Research Articles
Software Testing, Verification & Reliability
Automatic Generation of Floating-Point Test Data
IEEE Transactions on Software Engineering
Testability transformation: program transformation to improve testability
Formal methods and testing
An Approach for Search Based Testing of Null Pointer Exceptions
ICST '11 Proceedings of the 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation
Augmented dynamic symbolic execution
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Hi-index | 0.01 |
In this paper, we discuss how a search-based branch coverage approach can be used to design an effective test data generation approach, specifically targeting divide-by-zero exceptions. We first propose a novel testability transformation combining approach level and branch distance. We then use different search strategies, i.e., hill climbing, simulated annealing, and genetic algorithm, to evaluate the performance of the novel testability transformation on a small synthetic example as well as on methods known to throw divide-by-zero exceptions, extracted from real world systems, namely Eclipse and Android. Finally, we also describe how the test data generation for divide-by-zero exceptions can be formulated as a constraint programming problem and compare the resolution of this problem with a genetic algorithm in terms of execution time. We thus report evidence that genetic algorithm using our novel testability transformation out-performs hill climbing and simulated annealing and a previous approach (in terms of numbers of fitness evaluation) but is out-performed by constraint programming (in terms of execution time).