Fast graph simplification for interleaved Dyck-reachability
Yuanbo Li, Qirun Zhang, Thomas W. Reps
Abstract
Many program-analysis problems can be formulated as graphreachability problems. Interleaved Dyck language reachability (InterDyck-reachability) is a fundamental framework to express a wide variety of program-analysis problems over edge-labeled graphs. The InterDyck language represents an intersection of multiple matched-parenthesis languages (i.e., Dyck languages). In practice, program analyses typically leverage one Dyck language to achieve context-sensitivity, and other Dyck languages to model data dependences, such as field-sensitivity and pointer references/dereferences. In the ideal case, an InterDyck-reachability framework should model multiple Dyck languages simultaneously.
Unfortunately, precise InterDyck-reachability is undecidable. Any practical solution must over-approximate the exact answer. In the literature, a lot of work has been proposed to over-approximate the InterDyck-reachability formulation. This paper offers a new perspective on improving both the precision and the scalability of InterDyck-reachability: we aim to simplify the underlying input graph G. Our key insight is based on the observation that if an edge is not contributing to any InterDyck-path, we can safely eliminate it from G. Our technique is orthogonal to the InterDyck-reachability formulation, and can serve as a pre-processing step with any over-approximating approaches for InterDyck-reachability. We have applied our graph simplification algorithm to preprocessing the graphs from a recent InterDyck-reachabilitybased taint analysis for Android. Our evaluation on three popular InterDyck-reachability algorithms yields promising results. In particular, our graph-simplification method improves both the scalability and precision of all three In-terDyck-reachability algorithms, sometimes dramatically.
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 84bfb7e4-4964-483b-8a1e-354588213f06Cited by top-tier papers18
- Context Sensitivity without Contexts: A Cut-Shortcut Approach to Fast and Precise Pointer AnalysisWenjie Ma, Shengyuan Yang, Tian Tan, Xiaoxing Ma et al.PLDI 2023 · 29 citations
- Taming transitive redundancy for context-free language reachabilityYuxiang Lei, Yulei Sui, Shuo Ding, Qirun ZhangOOPSLA 2022 · 16 citations
- FlowCFL: generalized type-based reachability analysis: graph reduction and equivalence of CFL-based and type-based reachabilityAna L. MilanovaOOPSLA 2020 · 15 citations
- Recursive State Machine Guided Graph Folding for Context-Free Language ReachabilityYuxiang Lei, Yulei Sui, Shin Hwei Tan, Qirun ZhangPLDI 2023 · 15 citations
- Verifying correct usage of context-free API protocolsKostas Ferles, Jon Stephens, Isil DilligPOPL 2021 · 12 citations
Related papers
- Single-Source-Single-Target Interleaved-Dyck Reachability via Integer Linear ProgrammingYuanbo Li, Qirun Zhang, Thomas W. RepsPOPL 2023 · 6 citations
- On the complexity of bidirected interleaved Dyck-reachabilityYuanbo Li, Qirun Zhang, Thomas W. RepsPOPL 2021 · 12 citations
- The decidability and complexity of interleaved bidirected Dyck reachabilityAdam Husted Kjelstrøm, Andreas PavlogiannisPOPL 2022 · 17 citations
- Program Analysis via Multiple Context Free Language ReachabilityGiovanna Kobus Conrado, Adam Husted Kjelstrøm, Jaco van de Pol, Andreas PavlogiannisPOPL 2025 · 2 citations
- Indexing the extended Dyck-CFL reachability for context-sensitive program analysisQingkai Shi, Yongchao Wang, Peisen Yao, Charles ZhangOOPSLA 2022 · 11 citations
