BTA Termination Using CFL-Reachability
نویسندگان
چکیده
In this paper, we develop a BTA algorithm that ensures termination of oo-line partial evaluation for rst-order functional programs, extending the work of Holst and of Glenstrup and Jones. Holst's characterization of in-situ-decreasing behaviour does not account for parameters that do not control the recursion of their functions. We extend Holst's framework to handle this phenomenon by deening the "innuential" property for parameters. Glenstrup and Jones's algorithm for identifying in-situ-decreasing parameters, which relies on the size markings (", #, =) on the edges of a dependence graph, says that a path must be free of " edges and must contain at least one # edge to be size-decreasing. We extend their language of size-decreasing paths: A size-decreasing path may contain " edges provided that every " edge is balanced by the appropriate kind of # edge. We modify the size markings on the graph edges and use Context-Free-Language Reachability, a generalized form of graph reachability, to identify such complex size-decreasing paths.
منابع مشابه
Scaling CFL-Reachability-Based Points-To Analysis Using Context-Sensitive Must-Not-Alias Analysis
Pointer analyses derived from a Context-Free-Language (CFL) reachability formulation achieve very high precision, but they do not scale well to compute the points-to solution for an entire large program. Our goal is to increase significantly the scalability of the currently most precise points-to analysis for Java. This CFL-reachability analysis depends on determining whether two program variab...
متن کاملFrom Polymorphic Subtyping to CFL Reachability: Context-Sensitive Flow Analysis Using Instantiation Constraints
متن کامل
Approximating Petri Net Reachability Along Context-free Traces
We investigate the problem asking whether the intersection of a context-free language (CFL) and a Petri net language (PNL) is empty. Our contribution to solve this long-standing problem which relates, for instance, to the reachability analysis of recursive programs over unbounded data domain, is to identify a class of CFLs called the finite-index CFLs for which the problem is decidable. The k-i...
متن کاملBoundedness vs. Unboundedness of Lock Chains: Characterizing Decidability of CFL-Reachability for Threads Communicating via Locks
The problem of Pairwise CFL-reachability is to decide whether two given program locations in different threads are simultaneously reachable in the presence of recursion in threads and scheduling constraints imposed by synchronization primitives. Pairwise CFL-reachability is the core problem underlying concurrent program analysis especially dataflow analysis. Unfortunately, it is undecidable eve...
متن کاملAn E � cient Algorithm for Solving the Dyck - CFL Reachability Problem on Trees ?
The context-free language (CFL) reachability problem is well known and studied in computer science, as a fundamental problem underlying many important static analyses such as points-to-analysis. Solving the CFL reachability problem in the general case is very hard. Popular solutions resorting to a graph traversal exhibit a time complexity of O(kn) for a grammar of size k. For Dyck CFLs, a parti...
متن کامل