Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Coq
  3. QuickChick

QuickChick

NOASSERTIONRocq Proverv2.1.1

A randomized property-based testing plugin for Coq, enabling automated test generation and verification within proof assistants.

GitHubGitHub
293 stars51 forks0 contributors

What is QuickChick?

QuickChick is a randomized property-based testing plugin for the Coq proof assistant. It enables automated generation of test cases for properties and specifications defined in Coq, helping developers verify correctness through testing before or alongside formal proofs. The tool includes features like automatic generator derivation and mutation testing to enhance test coverage and reliability.

Target Audience

Coq users, formal verification researchers, and developers working on verified software who want to integrate automated testing into their proof development workflow.

Value Proposition

QuickChick provides a unique blend of property-based testing and formal verification, allowing users to leverage automated test generation within Coq's trusted environment. Its automatic derivation of generators for inductive relations and foundational verification framework set it apart from manual testing approaches.

Overview

Randomized Property-Based Testing Plugin for Coq

Use Cases

Best For

  • Automatically testing properties of Coq specifications before attempting formal proofs
  • Generating random test cases for inductive relations in formal verification projects
  • Integrating mutation testing into Coq development workflows
  • Teaching property-based testing concepts within formal verification courses
  • Verifying complex data structures like red-black trees in Coq
  • Bridging the gap between testing and theorem proving in software verification

Not Ideal For

  • Projects not using the Coq proof assistant, as QuickChick is a Coq-specific plugin
  • Teams needing fast, interactive testing for rapid iteration without formal verification overhead
  • Environments that require integration with testing frameworks for mainstream languages like Python or Java

Pros & Cons

Pros

Automatic Generator Derivation

Automatically derives generators, enumerators, and checkers for inductive relations, saving significant manual coding effort in test generation, as highlighted in the README's examples.

Integrated Mutation Testing

Includes commands like MutateCheck to evaluate test suite quality through mutation analysis, a feature that enhances robustness beyond standard property-based testing.

Formal Verification Foundation

Provides a verified framework for testing, ensuring reliability within Coq's proof environment, as supported by academic papers linked in the documentation.

Seamless Coq Integration

Offers top-level commands like QuickCheck and Sample that integrate directly into Coq's workflow, making it easy to use during development without external tools.

Cons

Complex Setup Process

Installation requires OPAM and specific Coq repositories, which can be non-trivial for users unfamiliar with Coq's ecosystem, as detailed in the README's installation steps.

Niche Ecosystem Dependency

Tied exclusively to Coq, making it unsuitable for projects that don't use formal verification or need cross-language testing, limiting broader adoption.

Documentation Fragmentation

Tutorials and resources are scattered across multiple files and external links, such as the Software Foundations volume, which can hinder onboarding and quick reference.

Frequently Asked Questions

Quick Stats

Stars293
Forks51
Contributors0
Open Issues90
Last commit3 days ago
CreatedSince 2014

Tags

#coq#randomized-testing#automated-testing#test-generation#testing#property-based-testing#mutation-testing#formal-verification#proof-assistant

Built With

C
Coq
d
dune
O
OCaml

Included in

Coq380
Auto-fetched 1 day ago

Related Projects

MetaCoqMetaCoq

Metaprogramming, verified meta-theory and implementation of Rocq in Rocq

Stars561
Forks100
Last commit10 days ago
CoqHammerCoqHammer

CoqHammer: An Automated Reasoning Hammer Tool for Rocq - Proof Automation for Dependent Type Theory

Stars249
Forks39
Last commit1 month ago
EquationsEquations

A function definition package for Rocq

Stars236
Forks58
Last commit2 days ago
Coq-ElpiCoq-Elpi

Rocq plugin embedding Elpi

Stars196
Forks80
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub