The new quickcheck for isabelle: random, exhaustive and symbolic testing under one roof

  • Authors:
  • Lukas Bulwahn

  • Affiliations:
  • Institut für Informatik, Technische Universität München, Germany

  • Venue:
  • CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.