Faster Algorithms for Algebraic Path Properties in RSMs with Constant Treewidth
Krishnendu Chatterjee, Rasmus Ibsen-Jensen, Andreas Pavlogiannis,, Prateesh Goyal

TL;DR
This paper introduces efficient algorithms for interprocedural analysis in recursive state machines with constant treewidth, enabling fast multiple queries for algebraic path properties, improving over existing solutions.
Contribution
The authors develop simple, implementable algorithms that support multiple queries in RSMs with constant treewidth, with improved preprocessing and query answering times.
Findings
Algorithms achieve faster query responses than previous methods.
Prototype implementation shows significant speed-up on benchmarks.
Applicable to interprocedural reachability and shortest path problems.
Abstract
Interprocedural analysis is at the heart of numerous applications in programming languages, such as alias analysis, constant propagation, etc. Recursive state machines (RSMs) are standard models for interprocedural analysis. We consider a general framework with RSMs where the transitions are labeled from a semiring, and path properties are algebraic with semiring operations. RSMs with algebraic path properties can model interprocedural dataflow analysis problems, the shortest path problem, the most probable path problem, etc. The traditional algorithms for interprocedural analysis focus on path properties where the starting point is \emph{fixed} as the entry point of a specific method. In this work, we consider possible multiple queries as required in many applications such as in alias analysis. The study of multiple queries allows us to bring in a very important algorithmic distinction…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Parallel Computing and Optimization Techniques
