首页> 外文期刊>Formal Aspects of Computing >Tests and proofs for custom data generators
【24h】

Tests and proofs for custom data generators

机译:定制数据生成器的测试和证明

获取原文
获取原文并翻译 | 示例

摘要

We address automated testing and interactive proving of properties involving complex data structures with constraints, like the ones studied in enumerative combinatorics, e.g., permutations and maps. In this paper we show testing techniques to check properties of custom data generators for these structures. We focus on random property-based testing and bounded exhaustive testing, to find counterexamples for false conjectures in the Coq proof assistant. For random testing we rely on the existing Coq plugin QuickChick and its toolbox to write random generators. For bounded exhaustive testing, we use logic programming to generate all the data up to a given size. We also propose an extension of QuickChick with bounded exhaustive testing based on generators developed inside Coq, but also on correct-by-construction generators developed with Why3. These tools are applied to an original Coq formalization of the combinatorial structures of permutations and rooted maps, together with some operations on them and properties about them. Recursive generators are defined for each combinatorial family. They are used for debugging properties which are finally proved in Coq. This large case study is also a contribution in enumerative combinatorics.
机译:我们处理涉及具有约束的复杂数据结构的属性的自动测试和交互式证明,例如在枚举组合学中研究的属性,例如排列和映射。在本文中,我们展示了用于检查这些结构的自定义数据生成器属性的测试技术。我们专注于基于随机属性的测试和有界穷举测试,以在Coq证明助手中找到错误猜想的反例。对于随机测试,我们依靠现有的Coq插件QuickChick及其工具箱来编写随机生成器。对于有限穷举测试,我们使用逻辑编程来生成指定大小的所有数据。我们还建议对QuickChick进行扩展,以基于Coq内部开发的生成器的有界穷举测试为基础,而且还基于使用Why3开发的按构造正确的生成器。这些工具应用于排列和生根图的组合结构的原始Coq形式化,以及对它们的一些操作以及它们的属性。为每个组合族定义了递归生成器。它们用于调试属性,最终在Coq中得到证明。大量案例研究也为枚举组合学做出了贡献。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号