Precise Data-Driven Approximation for Program Analysis via Fuzzing
Nikhil Parasaram, Earl T. Barr, Sergey Mechtaev, Marcel Böhme
摘要
Program analysis techniques such as abstract interpretation and symbolic execution suffer from imprecision due to over- and underapproximation, which results in false alarms and missed violations. To alleviate this imprecision, we propose a novel data structure, program state probability (PSP), that leverages execution samples to probabilistically approximate reachable program states. The core intuition of this approximation is that the probability of reaching a given state varies greatly, and thus we can considerably increase analysis precision at the cost of a small probability of unsoundness or incompleteness, which is acceptable when analysis targets bug-finding. Specifically, PSP enhances existing analyses by disregarding low-probability states deemed feasible by overapproximation and recognising high-probability states deemed infeasible by underapproximation. We apply PSP in three domains. First, we show that PSP enhances the precision of the Clam abstract interpreter in terms of MCC from 0.09 to 0.27 and F1 score from 0.22 to 0.34. Second, we demonstrate that a symbolic execution search strategy based on PSP that prioritises program states with a higher probability increases the number of found bugs and reduces the number of solver calls compared to state-of-the-art techniques. Third, a program repair patch prioritisation strategy based on PSP reduces the average patch rank by 26%.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper2
- Statistical Reachability AnalysisSeongmin Lee, Marcel BöhmeFSE 2023 · 被引用 12 次
- Abstract Interpretation with Confidence: Quantifying the Precision of Dataflow Analysis with ProbabilitiesYuanfeng Shi, Ziyue Jin, Xin ZhangPLDI 2026
它引用的顶会 Paper7
- Empirical review of automated analysis tools on 47, 587 Ethereum smart contractsThomas Durieux, João F. Ferreira, Rui Abreu, Pedro CruzICSE 2020 · 被引用 373 次
- Finding real bugs in big programs with incorrectness logicQuang Loc Le, Azalea Raad, Jules Villard, Josh Berdine 等OOPSLA 2022 · 被引用 52 次
- Neuro-Symbolic Execution: Augmenting Symbolic Execution with Neural ConstraintsShiqi Shen, Shweta Shinde, Soundarya Ramesh, Abhik Roychoudhury 等NDSS 2019 · 被引用 43 次
- Statistical Reachability AnalysisSeongmin Lee, Marcel BöhmeFSE 2023 · 被引用 12 次
- Rete: Learning Namespace Representation for Program RepairNikhil Parasaram, Earl T. Barr, Sergey MechtaevICSE 2023 · 被引用 12 次
相关 Paper
- Empc: Effective Path Prioritization for Symbolic Execution with Path CoverShuangjie Yao, Dongdong SheS&P 2025
- PREACH: A Heuristic for Probabilistic Reachability to Identify Hard to Reach StatementsSeemanta Saha, Mara Downing, Tegan Brennan, Tevfik BultanICSE 2022 · 被引用 11 次
- Learning to Explore Paths for Symbolic ExecutionJingxuan He, Gishor Sivanrupan, Petar Tsankov, Martin T. VechevCCS 2021 · 被引用 39 次
- Доверя'й, но проверя'й: SFI safety for native-compiled WasmEvan Johnson, David Thien, Yousef Alhessi, Shravan Narayan 等NDSS 2021
- Engineering a Formally Verified Automated Bug FinderArthur Correnson, Dominic SteinhöfelFSE 2023 · 被引用 6 次
