Abstract
The context-free language (CFL) reachability problem is a well-known fundamental formulation in program analysis. In practice, many program analyses, especially pointer analyses, adopt a restricted version of CFL-reachability, Dyck-CFL-reachability, and compute on edge-labeled bidirected graphs. Solving the all-pairs Dyck-CFL-reachability on such bidirected graphs is expensive. For a bidirected graph with n nodes and m edges, the traditional dynamic programming style algorithm exhibits a subcubic time complexity for the Dyck language with k kinds of parentheses. When the underlying graphs are restricted to bidirected trees, an algorithm with O(n log n log k) time complexity was proposed recently. This paper studies the Dyck-CFL-reachability problems on bidirected trees and graphs. In particular, it presents two fast algorithms with O(n) and O(n+m log m) time complexities on trees and graphs respectively. We have implemented and evaluated our algorithms on a state-of-the-art alias analysis for Java. Results on standard benchmarks show that our algorithms achieve orders of magnitude speedup and consume less memory.
| Original language | English |
|---|---|
| Pages (from-to) | 435-446 |
| Journal | SIGPLAN Notices (ACM Special Interest Group on Programming Languages) |
| Volume | 48 |
| Issue number | 6 |
| DOIs | |
| Publication status | Published - Jun 2013 |
| Event | 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) - Seattle Duration: 16 Jun 2013 → 19 Jun 2013 |
Research Keywords
- Algorithms
- Design
- Experimentation
- Languages
- Dyck-CFL-reachability
- alias analysis
- POINTS-TO ANALYSIS
- RECURSIVE STATE MACHINES
- JAVA
- LINES
- CODE
Fingerprint
Dive into the research topics of 'Fast Algorithms for Dyck-CFL-Reachability with Applications to Alias Analysis'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver