Partition Testing Does Not Inspire Confidence (Program Testing)
IEEE Transactions on Software Engineering
Art of Software Testing
Program Flow Analysis: Theory and Application
Program Flow Analysis: Theory and Application
Generating random solutions for constraint satisfaction problems
Eighteenth national conference on Artificial intelligence
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
Symbolic execution of floating-point computations: Research Articles
Software Testing, Verification & Reliability
Proceedings of the 1st international workshop on Random testing
Tool support for randomized unit testing
Proceedings of the 1st international workshop on Random testing
Feedback-Directed Random Test Generation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Reliability of the Path Analysis Testing Strategy
IEEE Transactions on Software Engineering
Constraint Reasoning in Path-Oriented Random Testing
COMPSAC '08 Proceedings of the 2008 32nd Annual IEEE International Computer Software and Applications Conference
AAAI'08 Proceedings of the 23rd national conference on Artificial intelligence - Volume 1
JPF-SE: a symbolic execution extension to Java PathFinder
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
A new algorithm for sampling CSP solutions uniformly at random
CP'06 Proceedings of the 12th international conference on Principles and Practice of Constraint Programming
PathCrawler: automatic generation of path tests by combining static and dynamic analysis
EDCC'05 Proceedings of the 5th European conference on Dependable Computing
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
An Evaluation of Random Testing
IEEE Transactions on Software Engineering
Toward a theory of test data selection
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Path-oriented Random Testing (PRT) aims at generating a uniformly spread out sequence of random test data that execute a single control flow path within a program. The main challenge of PRT lies in its ability to build efficiently such a test suite in order to minimize the number of rejects (test data that execute another control flow path). We address this problem with an original divide-and-conquer approach based on constraint reasoning over finite domains, a well-recognized Constraint Programming technique. Our approach first derives path conditions by using backward symbolic execution and computes a tight over-approximation of their associated subdomain by using constraint propagation and constraint refutation. Second, a uniform random test data generator is extracted from this approximated subdomain. We implemented this approach and got experimental results that show the practical benefits of PRT based on constraint reasoning. On average, we got a two-order magnitude CPU time improvement over standard Random Testing on a set of paths extracted from classical benchmark programs.