We present an O(n3/ log n)-time algorithm for the all-pairs CFL-reachability problem. The result, obtained via an O(n3/ log n) algorithm for all-pairs reachability in pushdown automata, breaks a longstanding upper bound and the “cubic bottleneck” for Datalog chain queries and many program analysis problems. Next, using a new, DFS-based, O(min{mn/log n, n3/ log2 n})-time algorithm for directed transitive closure, we solve all-pairs reachability in stack-bounded pushdown automata in time O(n3/ log2 n), improving on the previous cubic bound. Finally, we use fast matrix multiplication to compute reachability in hierarchical pushdown automata in O(n2.376) time, also breaking the known cubic bound. The results identify a gradation in the complexity of the reachability problem for pushdown automata as recursion is restricted to varying degrees.
By: Swarat Chaudhuri
Published in: RC24126 in 2006
LIMITED DISTRIBUTION NOTICE:
This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.
Questions about this service can be mailed to reports@us.ibm.com .