Symbolic execution systems—a review
Software Engineering Journal
Specification and transformation of programs: a formal approach to software development
Specification and transformation of programs: a formal approach to software development
An integrated system for automatically generating test data
ISCI '90 Proceedings of the first international conference on systems integration on Systems integration '90
Adaptation in natural and artificial systems
Adaptation in natural and artificial systems
Experimental results from an automatic test case generator
ACM Transactions on Software Engineering and Methodology (TOSEM)
The chaining approach for software test data generation
ACM Transactions on Software Engineering and Methodology (TOSEM)
An introduction to genetic algorithms
An introduction to genetic algorithms
Automated program flaw finding using simulated annealing
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
A System for Assisting Program Transformation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Symbolic execution and program testing
Communications of the ACM
The evolution of programs: a system for automatic program modification
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Testing real-time systems using genetic algorithms
Software Quality Control
Software Testability: The New Verification
IEEE Software
Test and Evaluation by Genetic Algorithms
IEEE Expert: Intelligent Systems and Their Applications
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
Instrumenting Programs With Flag Variables For Test Data Search By Genetic Algorithms
GECCO '02 Proceedings of the Genetic and Evolutionary Computation Conference
A Comparison of Static Analysis and Evolutionary Testing for the Verification of Timing Constraints
RTAS '98 Proceedings of the Fourth IEEE Real-Time Technology and Applications Symposium
Testing the Results of Static Worst-Case Execution-Time Analysis
RTSS '98 Proceedings of the IEEE Real-Time Systems Symposium
A Survey of Program Slicing Techniques.
A Survey of Program Slicing Techniques.
Program slices: formal, psychological, and practical investigations of an automatic program abstraction method
An Empirical Investigation of the Influence of a Type of Side Effects on Program Comprehension
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Evolutionary testing of flag conditions
GECCO'03 Proceedings of the 2003 international conference on Genetic and evolutionary computation: PartII
Evolutionary testing of state-based programs
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
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
Evolutionary Testing Using an Extended Chaining Approach
Evolutionary Computation
Integrating automated test generation into the WYSIWYT spreadsheet testing methodology
ACM Transactions on Software Engineering and Methodology (TOSEM)
The species per path approach to SearchBased test data generation
Proceedings of the 2006 international symposium on Software testing and analysis
Test input generation for java containers using state matching
Proceedings of the 2006 international symposium on Software testing and analysis
Source Code Analysis: A Road Map
FOSE '07 2007 Future of Software Engineering
The Current State and Future of Search Based Software Engineering
FOSE '07 2007 Future of Software Engineering
Automated Test Data Generation using Search Based Software Engineering
AST '07 Proceedings of the Second International Workshop on Automation of Software Test
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
Search based software testing of object-oriented containers
Information Sciences: an International Journal
Locating dependence structures using search-based slicing
Information and Software Technology
Automatic, evolutionary test data generation for dynamic software testing
Journal of Systems and Software
Empirical evaluation of a nesting testability transformation for evolutionary testing
ACM Transactions on Software Engineering and Methodology (TOSEM)
Evolving heuristically difficult instances of combinatorial problems
Proceedings of the 11th Annual conference on Genetic and evolutionary computation
Dealing with inheritance in OO evolutionary testing
Proceedings of the 11th Annual conference on Genetic and evolutionary computation
Evolutionary testing of software with function-assigned flags
Journal of Systems and Software
Using program data-state scarcity to guide automatic test data generation
Software Quality Control
Testability transformation: program transformation to improve testability
Formal methods and testing
The relationship between search based software engineering and predictive modeling
Proceedings of the 6th International Conference on Predictive Models in Software Engineering
A baseline method for search-based software engineering
Proceedings of the 6th International Conference on Predictive Models in Software Engineering
An empirical investigation into branch coverage for C programs using CUTE and AUSTIN
Journal of Systems and Software
Directed test suite augmentation: techniques and tradeoffs
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Example-based model-transformation testing
Automated Software Engineering
Directed test suite augmentation
Proceedings of the 33rd International Conference on Software Engineering
FlagRemover: A testability transformation for transforming loop-assigned flags
ACM Transactions on Software Engineering and Methodology (TOSEM)
Bytecode testability transformation
SSBSE'11 Proceedings of the Third international conference on Search based software engineering
Search based software engineering
ICCS'06 Proceedings of the 6th international conference on Computational Science - Volume Part IV
Test data regeneration: generating new test data from existing test data
Software Testing, Verification & Reliability
Evolutionary algorithm for prioritized pairwise test data generation
Proceedings of the 14th annual conference on Genetic and evolutionary computation
Evolutionary algorithms for the multi-objective test data generation problem
Software—Practice & Experience
Orthogonal exploration of the search space in evolutionary test case generation
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Hi-index | 0.00 |
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.