A randomized property-based testing plugin for Coq, enabling automated test generation and verification within proof assistants.
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.
Coq users, formal verification researchers, and developers working on verified software who want to integrate automated testing into their proof development workflow.
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.
Randomized Property-Based Testing Plugin for Coq
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically derives generators, enumerators, and checkers for inductive relations, saving significant manual coding effort in test generation, as highlighted in the README's examples.
Includes commands like MutateCheck to evaluate test suite quality through mutation analysis, a feature that enhances robustness beyond standard property-based testing.
Provides a verified framework for testing, ensuring reliability within Coq's proof environment, as supported by academic papers linked in the documentation.
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.
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.
Tied exclusively to Coq, making it unsuitable for projects that don't use formal verification or need cross-language testing, limiting broader adoption.
Tutorials and resources are scattered across multiple files and external links, such as the Software Foundations volume, which can hinder onboarding and quick reference.