Development of a Web System for Detecting Bugs in Probabilistic Programs

Vo Dai Trinh, Yuri Nishimura, Haibo Yu · 2023

Probabilistic programming provides a means for writing programs that describe probabilistic models such that they can be used to make probabilistic inferences and create systems that help to make decisions in the face of uncertainty. As the number and adoption of probabilistic programming systems are growing significantly, the reliability of these systems and the systems developed using these probabilistic programming libraries are becoming increasingly important. However, currently, the debugging of probabilistic programs mainly uses the techniques and tools provided by the traditional development support environment for traditional programs, which cannot express the characteristics of probabilistic programs. Therefore, it has become necessary to develop tools for testing, debugging, etc., that consider the characteristics of probabilistic programs. Our research aims to develop tools for the development of probabilistic programs that consider the characteristics of probabilistic programs. In our previous research, we investigated a real probabilistic programming system, PyMC3, to understand the characteristics of probabilistic programs and extracted eight probabilistic program-specific bug patterns from the bugs created during the development of the PyMC3 programming system. In this research, we first studied methods for automatically detecting bug patterns. Then, we implemented three bug detectors for the bug patterns extracted in our previous research based on the proposed methods. The bug-detecting method is based on the abstract syntax tree, one of the methods for static analysis of programs. Finally, we incorporate these three bug detectors into a Web system for detecting bugs in probabilistic programs. The Web system is designed and implemented to easily incorporate new bug detectors that can detect new probabilistic program bug patterns in the future. The quality of developed probabilistic programs is expected to be improved by using the bug detection Web system developed in this research.

Read the paper · More papers on PaperTik