返回
ProbTest: Unit Testing for Probabilistic Programs
DOI:10.1007/978-3-032-10444-1_6.png)
摘要
En 中文
由于概率程序的随机性,测试它们并非易事。给定一个输入,程序可能会根据其底层随机选择产生不同的结果。这意味着测试概率程序的预期结果需要重复执行测试,这与确定性程序不同,后者对每个测试输入可能只需一次执行即可。这引出了一个问题:我们应该运行概率程序多少次才能有效地测试它?本研究提出了一种新颖的黑盒单元测试方法ProbTest,用于测试概率程序的结果。我们的方法基于一个著名的组合问题——优惠券收集问题的相关理论。使用这种方法,开发者可以像往常一样编写单元测试,无需额外努力,而所需的测试执行次数将自动确定,并保证结果的统计有效性。我们将ProbTest实现为PyTest的插件,PyTest是用于Python程序的知名单元测试工具。通过该插件,开发者可以像编写其他任何Python程序一样编写单元测试,而必要的测试执行将自动处理。我们在Gymnasium强化学习库和随机数据结构案例研究中评估了该方法。
Keyword:
Probabilistic programs
Unit testing
Coupon collector's problem
Statistical guarantees
PyTest
期刊
S
IF:
0
论文数:
16
被引数:
0
机构
引用论文
PyMC: a modern, and comprehensive probabilistic programming framework in PythonPyMC: Python中的现代,全面的概率编程框架

