Beer: Interactive Alarm Resolution in Bayesian Program Analysis via Exploration-Exploitation

Published in OOPSLA, 2026

Bayesian program analysis is a novel paradigm that systematically introduces probabilities into program analysis. It ranks alarms by probabilistic confidence and updates those confidences using user inspection feedback. However, existing interactive approaches greedily pick the highest-confidence alarm for inspection, which can get stuck in local optima, resulting in sub-optimal performance.

Our approach, Beer, frames interactive alarm resolution as an exploration-exploitation problem: when the analysis appears stuck, it explores by selecting alarms that approximately maximize information gain to break out of local optima more effectively. Experiments on datarace, thread-escape, and taint analyses show that Beer outperforms the greedy baseline, achieving up to 32% fewer false-alarm inspections, and also outperforms SOTA Bayesian analysis systems. This demonstrates that its exploration-exploitation strategy generalizes beyond a single analysis.

Recommended citation
Haoran Lin, Zhenyu Yan, and Xin Zhang. 2026. Beer: Interactive Alarm Resolution in Bayesian Program Analysis via Exploration-Exploitation. Proceedings of the ACM on Programming Languages 10, OOPSLA1 (April 2026), 400-426. PDF