Combining Formal and Informal Information in Bayesian Program Analysis via Soft Evidences
Tianchi Li, Xin Zhang
摘要
We propose a neural-symbolic style of program analysis that systematically incorporates informal information in a Datalog program analysis. The analysis is converted into a probabilistic analysis by attaching probabilities to its rules. And its output becomes a ranking of possible alarms based on their probabilities. We apply a neural network to judge how likely an analysis fact holds based on informal information such as variable names and String constants. This information is encoded as a soft evidence in the probabilistic analysis, which is a "noisy sensor" of the fact. With this information, the probabilistic analysis produces a better ranking of the alarms. We have demonstrated the effectiveness of our approach by improving a pointer analysis based on variable names on eight Java benchmarks, and a taint analysis that considers inter-component communication on eight Android applications. On average, our approach has improved the inversion count between true alarms and false alarms, mean rank of true alarms, and median rank of true alarms by 55.4%, 44.9%, and 58% on the pointer analysis, and 67.2%, 44.7%, and 37.6% on the taint analysis respectively. We also demonstrated the generality of our soft evidence mechanism by improving a taint analysis and an interval analysis for C programs using dynamic information from program executions.
CCS Concepts: • Software and its engineering → Automated static analysis.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper3
- Fuzzing Guided by Bayesian Program AnalysisYifan Zhang, Xin ZhangPOPL 2026 · 被引用 2 次
- Beer: Interactive Alarm Resolution in Bayesian Program Analysis via Exploration-ExploitationHaoran Lin, Zhenyu Yan, Xin ZhangOOPSLA 2026
- Abstract Interpretation with Confidence: Quantifying the Precision of Dataflow Analysis with ProbabilitiesYuanfeng Shi, Ziyue Jin, Xin ZhangPLDI 2026
它引用的顶会 Paper8
- GraphCodeBERT: Pre-training Code Representations with Data FlowDaya Guo, Shuo Ren, Shuai Lu, Zhangyin Feng 等ICLR 2021 · 被引用 1,644 次
- Flow2Vec: value-flow-based precise code embeddingYulei Sui, Xiao Cheng, Guanqin Zhang, Haoyu WangOOPSLA 2020 · 被引用 94 次
- Learning semantic program embeddings with graph interval neural networkYu Wang, Ke Wang, Fengjuan Gao, Linzhang WangOOPSLA 2020 · 被引用 61 次
- Scallop: A Language for Neurosymbolic ProgrammingZiyang Li, Jiani Huang, Mayur NaikPLDI 2023 · 被引用 38 次
- Boosting static analysis accuracy with instrumented test executionsTianyi Chen, Kihong Heo, Mukund RaghothamanFSE 2021 · 被引用 18 次
相关 Paper
- Program Repair Guided by Datalog-Defined Static AnalysisYu Liu, Sergey Mechtaev, Pavle Subotic, Abhik RoychoudhuryFSE 2023 · 被引用 14 次
- DAInfer: Inferring API Aliasing Specifications from Library Documentation via Neurosymbolic OptimizationChengpeng Wang, Jipeng Zhang, Rongxin Wu, Charles ZhangFSE 2024 · 被引用 5 次
- Scaling Abstraction Refinement for Program Analyses in Datalog using Graph Neural NetworksZhenyu Yan, Xin Zhang, Peng DiOOPSLA 2024 · 被引用 1 次
- NESA: Relational Neuro-Symbolic Static Program AnalysisChengpeng Wang, Yifei Gao, Wuqi Zhang, Xuwei Liu 等FSE 2026 · 被引用 1 次
- LLM-Based Alarm Resolution Guided by Bayesian Program AnalysisYifan Zhang, Yuanfeng Shi, Haoran Lin, Yingfei Xiong 等OOPSLA 2026
