PREACH: A Heuristic for Probabilistic Reachability to Identify Hard to Reach Statements
Seemanta Saha, Mara Downing, Tegan Brennan, Tevfik Bultan
Abstract
We present a heuristic for approximating the likelihood of reaching a given program statement using 1) branch selectivity (representing the percentage of values that satisfy a branch condition), which we compute using model counting, 2) dependency analysis, which we use to identify input-dependent branch conditions that influence statement reachability, 3) abstract interpretation, which we use to identify the set of values that reach a branch condition, and 4) a discrete-time Markov chain model, which we construct to capture the control flow structure of the program together with the selectivity of each branch. Our experiments indicate that our heuristic-based probabilistic reachability analysis tool PReach can identify hard to reach statements with high precision and accuracy in benchmarks from software verification and testing competitions, Apache Commons Lang, and the DARPA STAC program. We provide a detailed comparison with probabilistic symbolic execution and statistical symbolic execution for the purpose of identifying hard to reach statements. PReach achieves comparable precision and accuracy to both probabilistic and statistical symbolic execution for bounded execution depth and better precision and accuracy when execution depth is unbounded and the number of program paths grows exponentially. Moreover, PReach is more scalable than both probabilistic and statistical symbolic execution.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 49db5fc6-de43-4b26-8887-1a185bb62cdcCited by top-tier papers5
- Rare Path Guided FuzzingSeemanta Saha, Laboni Sarker, Md Shafiuzzaman, Chaofan Shou et al.ISSTA 2023 · 12 citations
- Statistical Reachability AnalysisSeongmin Lee, Marcel BöhmeFSE 2023 · 12 citations
- PEM: Representing Binary Program Semantics for Similarity Analysis via a Probabilistic Execution ModelXiangzhe Xu, Zhou Xuan, Shiwei Feng, Siyuan Cheng et al.FSE 2023 · 8 citations
- Counting and Sampling Traces in Regular LanguagesAlexis de Colnet, Kuldeep S. Meel, Umang MathurPOPL 2026 · 1 citation
- Risk Estimation in Differential Fuzzing via Extreme Value TheoryRafael Baez, Alejandro Olivas, Nathan K. Diamond, Marcelo F. Frias et al.ASE 2025
Related papers
- Model Checking Finite-Horizon Markov Chains with Probabilistic InferenceSteven Holtzen, Sebastian Junges, Marcell Vazquez-Chanlatte, Todd D. Millstein et al.CAV 2021 · 19 citations
- Precise Data-Driven Approximation for Program Analysis via FuzzingNikhil Parasaram, Earl T. Barr, Sergey Mechtaev, Marcel BöhmeASE 2023 · 1 citation
- Quantitative Robustness for Vulnerability AssessmentGuillaume Girol, Guilhem Lacombe, Sébastien BardinPLDI 2024
- Not All Bugs Are Created Equal, But Robust Reachability Can Tell the DifferenceGuillaume Girol, Benjamin Farinier, Sébastien BardinCAV 2021 · 15 citations
- Marco: A Stochastic Asynchronous Concolic ExplorerJie Hu, Yue Duan, Heng YinICSE 2024 · 6 citations
