arrow
返回

ProbTest: Unit Testing for Probabilistic Programs

delete2026-01-01
delete0
PRE
AI
K
Karin Christensen
M
Mahsa Varshosaz
R
Raúl Pardo *
DOI:10.1007/978-3-032-10444-1_6delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

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

期刊

S
SOFTWARE ENGINEERING AND FORMAL METHODS, SEFM 2025
IF:
0
论文数:
16
被引数:
0

机构

I
IT University Copenhagen
学者数:
353
论文数: 345
被引数: 13
引用论文

引用论文

Randomized Algorithms
err
IF0
err2013-03-05
err0
PREAI
errRajeev Motwani; Prabhakar Raghavan
err分享
err收藏
PyMC: a modern, and comprehensive probabilistic programming framework in PythonPyMC: Python中的现代,全面的概率编程框架
err2023-09-01
err130
errOAAI
errAbril-Pla, Oriol; Andreani, Virgile; Carroll, Colin; Dong, Larry; Fonnesbeck, Christopher J.; Kochurov, Maxim; Kumar, Ravin; Lao, Junpeng; Luhmann, Christian C.; Martin, Osvaldo A.; Osthege, Michael; Vieira, Ricardo; Wiecki, Thomas; Zinkov, Robert
err分享
err收藏
PRISM 4.0: Verification of Probabilistic Real-Time Systems
err2011-01-01
err0
PREAI
errMarta Kwiatkowska; Gethin Norman; David Parker
err分享
err收藏
Handbook of Markov Chain Monte Carlo
err
IF0
err2011-05-10
err0
errOAAI
errSteve Brooks; Andrew Gelman; Galin Jones; Xiao-Li Meng
err分享
err收藏
err分享
err收藏
Statistical Rethinking
err
IF0
err2020-03-13
err0
PREAI
errRichard McElreath
err分享
err收藏
学者 查看更多内容