Automatic Test Data Generation for Programs with Integer and Float Variables
Proceedings of the 16th IEEE international conference on Automated software engineering
Consistency techniques for interprocedural test data generation
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Generating Tests from Counterexamples
Proceedings of the 26th International Conference on Software Engineering
Evolutionary testing of classes
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
DART: directed automated random testing
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
CUTE: a concolic unit testing engine for C
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Automated verification and test case generation for input validation
Proceedings of the 2006 international workshop on Automation of software test
Testing software modelling tools using data mutation
Proceedings of the 2006 international workshop on Automation of software test
Software partitioning for effective automated unit testing
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Compositional dynamic test generation
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Code-coverage guided prioritized test generation
Information and Software Technology
Detecting large number of infeasible paths through recognizing their patterns
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Heuristics-based infeasible path detection for dynamic test data generation
Information and Software Technology
Whispec: white-box testing of libraries using declarative specifications
LCSD '07 Proceedings of the 2007 Symposium on Library-Centric Software Design
Test Data Generation of Bytecode by CLP Partial Evaluation
Logic-Based Program Synthesis and Transformation
Automatic Generation of Test Inputs for Mercury
Logic-Based Program Synthesis and Transformation
Optimisation of software testing using Genetic Algorithm
International Journal of Artificial Intelligence and Soft Computing
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Predicting Effectiveness of Automatic Testing Tools
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
ASID'09 Proceedings of the 3rd international conference on Anti-Counterfeiting, security, and identification in communication
CHOC'LATE: a framework for specification-based testing
Communications of the ACM
Proceedings of the 2010 ACM Symposium on Applied Computing
Demand-driven compositional symbolic execution
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
A multiple-population genetic algorithm for branch coverage test data generation
Software Quality Control
Compositional CLP-based test data generation for imperative languages
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
Software model checking: searching for computations in the abstract or the concrete
IFM'05 Proceedings of the 5th international conference on Integrated Formal Methods
Automated verification and testing of user-interactive undo features in database applications
Software Testing, Verification & Reliability
Coverage-directed observability-based validation for embedded software
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Hi-index | 0.02 |
Branch coverage is an important criteria used during the structural testing of programs. In this paper, we present a new program execution based approach to generate input data that exercises a selected branch in a program. The test data generation is initiated with an arbitrarily chosen input from the input domain of the program. A new input is derived from the initial in-put in an attempt to force execution through any of the paths through the selected branch. The method dynamically switches among the paths that reach the branch by refining the input. Using a numerical iterative technique that attempts to generate an input to exercise the branch, it dynamically selects a path that offers less resistance. We have implemented the technique and present experimental results of its performance for some programs. Our results show that our method is feasible and practical.