Skip to search boxSkip to navigationSkip to main content

ProbTest: Unit Testing for Probabilistic Programs

Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Open access

Publication Information

Output type

Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Original language

English

Pages from-to (Number of pages)

Pages 91-109 (19 pages)

Publication milestones

  • Published - 12/11/2025

Publication status

Published - 12/11/2025

Volume

16192

Publisher

Springer Nature Switzerland

Book series

  • Book series name: LNCS
    Volume: 16192
978-3-032-10443-4

ISBN (Electronic)

978-3-032-10444-1

Publication IDs

  • Scopus: 105022915264

Host publication title

Proceedings of 23rd International Conference on Software Engineering and Formal Methods (SEFM 2025)

Abstract

Testing probabilistic programs is non-trivial due to their stochastic nature. Given an input, the program may produce different outcomes depending on the underlying stochastic choices in the program. This means testing the expected outcomes of probabilistic programs requires repeated test executions unlike deterministic programs where a single execution may suffice for each test input. This raises the following question: how many times should we run a probabilistic program to effectively test it? This work proposes a novel black-box unit testing method, ProbTest, for testing the outcomes of probabilistic programs. Our method is founded on the theory surrounding a well-known combinatorial problem, the coupon collector’s problem. Using this method, developers can write unit tests as usual without extra effort while the number of required test executions is determined automatically with statistical guarantees for the results. We implement ProbTest as a plug-in for PyTest, a well-known unit testing tool for python programs. Using this plug-in, developers can write unit tests similar to any other Python program and the necessary test executions are handled automatically. We evaluate the method on case studies from the Gymnasium reinforcement learning library and a randomized data structure.

Publication metrics

Related Event

Title

Software Engineering and Formal Methods

Event type

Conference

Degree of recognition

International event

Date

12/11/2025 - 14/11/2025

Location

SpainToledoSpain