Faster Runtime Verification during Testing via Feedback-Guided Selective Monitoring
Shinhae Kim, Saikat Dutta, Owolabi Legunsen
Abstract
Runtime verification (RV) uses monitors, which are dynamically synthesized from formal specifications (specs), to check running programs against specs. RV of passing tests in many open-source projects found hundreds of new bugs. But, high overheads make it hard to use RV for testing in practice.We propose Valg, the first on-the-fly selective RV technique for testing, and the first to use reinforcement learning (RL) to speed up RV. Valg leverages a recent finding: 99.87% of monitors are redundant for testing; they wastefully re-check unique traces— sequences of events, e.g., method calls—that the other necessary 0.13% already checked. Valg uses feedback about redundancy of prior monitors and events to selectively monitor only necessary ones subsequently. A key idea in Valg is our novel formulation of selective monitor creation as a two-armed bandit RL problem that rewards necessary monitors and penalizes redundant ones.We implement Valg for Java and compare it with state-of-the-art RV tools on one revision each of 64 open-source projects. With default RL hyperparameters, Valg is up to 20.2x and 551.5x faster than JavaMOP and TraceMOP, respectively. For example, Valg takes only 11.6 minutes in total to monitor three projects where TraceMOP takes 3.02 days in total. With default RL hyperparameters, Valg finds 99.6% of spec violations found by JavaMOP and TraceMOP, but it only checks 76.7% of their unique traces on average. After tuning RL hyperparameters, Valg checks 95.1% of unique traces on average with minor loss in speed. Using tuned hyperparameters from one revision "into the future" as code evolves preserves Valg’s high speedups and rate of checked unique traces, without needing frequent re-tuning.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext ab46b7d0-a305-412d-8d4a-b071bc32d387Cited by top-tier papers2
- Fine-Grained Analyses for Evolution-Aware Runtime VerificationPengyue Jiang, Kevin Guan, Mahdi Khosravi, Moustafa Ismail et al.ICSE 2026 · 1 citation
- A Closer Look at the Use of Reinforcement Learning for Speeding Up Runtime Verification of Software Tests (Experience Paper)Shinhae Kim, Saikat Dutta, Owolabi LegunsenISSTA 2026
Builds on5
- Hyperparameters in Reinforcement Learning and How To Tune ThemTheresa Eimer, Marius Lindauer, Roberta RaileanuICML 2023 · 96 citations
- More Precise Regression Test Selection via Reasoning about Semantics-Modifying ChangesYu Liu, Jiyang Zhang, Pengyu Nie, Milos Gligoric et al.ISSTA 2023 · 19 citations
- An In-Depth Study of Runtime Verification Overheads during Software TestingKevin Guan, Owolabi LegunsenISSTA 2024 · 7 citations
- Faster Explicit-Trace Monitoring-Oriented Programming for Runtime Verification of Software TestsKevin Guan, Marcelo d'Amorim, Owolabi LegunsenOOPSLA 2025 · 7 citations
- Instrumentation-Driven Evolution-Aware Runtime VerificationKevin Guan, Owolabi LegunsenICSE 2025 · 4 citations
Related papers
- Rate or Fate? RLVR: Reinforcement Learning with Verifiable Noisy RewardsAli Rad, Khashayar Filom, Darioush Keivan, Peyman Mohajerin Esfahani et al.ICML 2026
- Using Reinforcement Learning for Load Testing of Video GamesRosalia Tufano, Simone Scalabrino, Luca Pascarella, Emad Aghajani et al.ICSE 2022 · 37 citations
- Quantitative and Approximate MonitoringThomas A. Henzinger, N. Ege SaraçLICS 2021 · 15 citations
- Zeror: Speed Up Fuzzing with Coverage-sensitive Tracing and SchedulingChijin Zhou, Mingzhe Wang, Jie Liang, Zhe Liu et al.ASE 2020 · 35 citations
- Learning to Synthesize Relational InvariantsJingbo Wang, Chao WangASE 2022 · 9 citations
