How to replace failure by a list of successes
Proc. of a conference on Functional programming languages and computer architecture
QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Type Classes and Overloading in Higher-Order Logic
TPHOLs '97 Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics
Random Testing in Isabelle/HOL
SEFM '04 Proceedings of the Software Engineering and Formal Methods, Second International Conference
Smallcheck and lazy smallcheck: automatic exhaustive testing for small values
Proceedings of the first ACM SIGPLAN symposium on Haskell
Proceedings of the Eighth International Workshop on the ACL2 Theorem Prover and its Applications
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Automatic proof and disproof in Isabelle/HOL
FroCoS'11 Proceedings of the 8th international conference on Frontiers of combining systems
Verifying a hotel key card system
ICTAC'06 Proceedings of the Third international conference on Theoretical Aspects of Computing
Code generation via higher-order rewrite systems
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Nitpick: a counterexample generator for higher-order logic based on a relational model finder
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Smart testing of functional programs in isabelle
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Testing noninterference, quickly
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.00 |
The new Quickcheck is a counterexample generator for Isabelle/HOL that uncovers faulty specifications and invalid conjectures using various testing strategies. The previous Quickcheck only tested conjectures by random testing. The new Quickcheck extends the previous one and integrates two novel testing strategies: exhaustive testing with concrete values; and symbolic testing, evaluating conjectures with a narrowing strategy. Orthogonally to the strategies, we address two general issues: First, we extend the class of executable conjectures and specifications, and second, we present techniques to deal with conditional conjectures, i.e., conjectures with premises. We evaluate the testing strategies and techniques on a number of specifications, functional data structures and a hotel key card system.