Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Detecting equality of variables in programs
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Global value numbers and redundant computations
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reducing the effects of infeasible paths in branch testing
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
Automated Software Test Data Generation
IEEE Transactions on Software Engineering
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Constraint-Based Automatic Test Data Generation
IEEE Transactions on Software Engineering
Array representation in symbolic execution
Computer Languages
Single-pass generation of static single-assignment form for structured languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic Generation of Path Covers Based on the Control Flow Analysis of Computer Programs
IEEE Transactions on Software Engineering
The chaining approach for software test data generation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automated test data generation for programs with procedures
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Exploring dataflow testing of arrays
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Symbolic execution and program testing
Communications of the ACM
Constraint Programming: Strategic Directions
Constraints
Design, Implementation, and Evaluation of the Constraint Language cc(FD)
Selected Papers from Constraint Programming: Basics and Trends
SELECT—a formal system for testing and debugging programs by symbolic execution
Proceedings of the international conference on Reliable software
A System to Generate Test Data and Symbolically Execute Programs
IEEE Transactions on Software Engineering
Automated test data generation using an iterative relaxation method
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
A framework for testing database applications
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Automated test case generation for spreadsheets
Proceedings of the 24th International Conference on Software Engineering
Efficient path conditions in dependence graphs
Proceedings of the 24th International Conference on Software Engineering
Explanation-Based Scenario Generation for Reactive System Models
Automated Software Engineering
A CLP Framework for Computing Structural Test Data
CL '00 Proceedings of the First International Conference on Computational Logic
Automatic Test Data Generation for Programs with Integer and Float Variables
Proceedings of the 16th IEEE international conference on Automated software engineering
Generating Tests from Counterexamples
Proceedings of the 26th International Conference on Software Engineering
Privacy preserving database application testing
Proceedings of the 2003 ACM workshop on Privacy in the electronic society
Test input generation with java PathFinder
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Combining test case generation and runtime verification
Theoretical Computer Science - Abstract state machines and high-level system design and analysis
Constraint-based test data generation in the presence of stack-directed pointers
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Integrating automated test generation into the WYSIWYT spreadsheet testing methodology
ACM Transactions on Software Engineering and Methodology (TOSEM)
Proceedings of the 1st international workshop on Random testing
Efficient path conditions in dependence graphs for software safety analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
EXE: automatically generating inputs of death
Proceedings of the 13th ACM conference on Computer and communications security
Goal-oriented test data generation for pointer programs
Information and Software Technology
Parallel test generation and execution with Korat
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Random testing: from the classical approach to a global view and full test automation
Proceedings of the 2nd international workshop on Random testing: co-located with the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007)
Context-aware statistical debugging: from bug predictors to faulty control flow paths
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
CPBPV: A Constraint-Programming Framework for Bounded Program Verification
CP '08 Proceedings of the 14th international conference on Principles and Practice of Constraint Programming
EXE: Automatically Generating Inputs of Death
ACM Transactions on Information and System Security (TISSEC)
Using formal specifications to support testing
ACM Computing Surveys (CSUR)
Automation of broad sanity test generation
Programming and Computing Software
Whispec: white-box testing of libraries using declarative specifications
LCSD '07 Proceedings of the 2007 Symposium on Library-Centric Software Design
Automatic Generation of Test Inputs for Mercury
Logic-Based Program Synthesis and Transformation
Integration of verification methods for program systems
Programming and Computing Software
IJCAI'99 Proceedings of the 16th international joint conference on Artificial intelligence - Volume 2
Modelling dynamic memory management in constraint-based testing
Journal of Systems and Software
An Empirical Study of Structural Constraint Solving Techniques
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Exploring different constraint-based modelings for program verification
CP'07 Proceedings of the 13th international conference on Principles and practice of constraint programming
Test case generation for object-oriented imperative languages in clp*
Theory and Practice of Logic Programming
A MILP-based approach to path sensitization of embedded software
Proceedings of the Conference on Design, Automation and Test in Europe
Directed test suite augmentation: techniques and tradeoffs
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Testing continuous double auctions with a constraint-based oracle
CP'10 Proceedings of the 16th international conference on Principles and practice of constraint programming
Handling State-Machines Specifications with GATeL
Electronic Notes in Theoretical Computer Science (ENTCS)
A dynamic constraint-based BMC strategy for generating counterexamples
Proceedings of the 2011 ACM Symposium on Applied Computing
Directed test suite augmentation
Proceedings of the 33rd International Conference on Software Engineering
A multiple-population genetic algorithm for branch coverage test data generation
Software Quality Control
A random testing approach using pushdown automata
TAP'11 Proceedings of the 5th international conference on Tests and proofs
A theory of predicate-complete test coverage and generation
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Towards a framework for constraint-based test case generation
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
Execution generated test cases: how to make systems code crash itself
SPIN'05 Proceedings of the 12th international conference on Model Checking Software
Exploration of the capabilities of constraint programming for software verification
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Puzzle-based automatic testing: bringing humans into the loop by solving puzzles
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Implementing conformiq Qtronic
TestCom'07/FATES'07 Proceedings of the 19th IFIP TC6/WG6.1 international conference, and 7th international conference on Testing of Software and Communicating Systems
Test input generation using dynamic programming
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Boosting local consistency algorithms over floating-point numbers
CP'12 Proceedings of the 18th international conference on Principles and Practice of Constraint Programming
Coverage-directed observability-based validation for embedded software
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Artificial life and cellular automata based automated test case generator
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
Automatic test data generation leads to identify input values on which a selected point in a procedure is executed. This paper introduces a new method for this problem based on constraint solving techniques. First, we statically transform a procedure into a constraint system by using well-known "Static Single Assignment" form and control-dependencies. Second, we solve this system to check whether at least one feasible control flow path going through the selected point exists and to generate test data that correspond to one of these paths.The key point of our approach is to take advantage of current advances in constraint techniques when solving the generated constraint system. Global constraints are used in a preliminary step to detect some of the non feasible paths. Partial consistency techniques are employed to reduce the domains of possible values of the test data. A prototype implementation has been developped on a restricted subset of the C language. Advantages of our approach are illustrated on a non-trivial example.