中文

QuickerCheck:实现与评估QuickCheck的并行运行时

编程语言 2024-04-26 v1

摘要

本文介绍了QuickCheck的一个新的并行运行时,QuickCheck是一个Haskell库和EDSL,用于指定和随机测试程序属性。新的运行时可以利用可用核心并行运行单个属性的多个测试。此外,如果发现反例,运行时还可以并行收缩测试用例,实现局部最小反例的并行搜索。我们的实验结果显示,在各种重型基准测试问题上,测试QuickCheck属性的速度提升了3-9倍。我们还评估了两种不同的收缩策略:确定性收缩,保证产生与标准顺序收缩相同的最小测试用例;以及贪婪收缩,没有这种保证但仍能产生局部最小测试用例,且在实践中更快。

关键词

引用

@article{arxiv.2404.16062,
  title  = {QuickerCheck: Implementing and Evaluating a Parallel Run-Time for QuickCheck},
  author = {Robert Krook and Nicholas Smallbone and Bo Joel Svensson and Koen Claessen},
  journal= {arXiv preprint arXiv:2404.16062},
  year   = {2024}
}

备注

12 pages, IFL 2023