This paper considers path problems on directed graphs which are solvable by a method similar to Gaussian elimination. The paper gives an axiom system for such problems which is a weakening of Salomaa''s axioms for a regular algebra. The paper presents a general solution method which requires O($n^3$) time for dense graphs with n vertices and considerably less time for sparse graphs. The paper also presents a decomposition method which solves a path problem by breaking it into subproblems, solving each subproblem by elimination, and combining the solutions. This method is a generalization of the "reducibility" notion of data flow analysis, and is a kind of single-element "tearing". Efficiently implemented, the method requires O(m $\alpha$(m,n)) time plus time to solve the subproblems, for problem graphs with n vertices and m edges. Here $\alpha$(m,n) is a very slowly growing function which is a functional inverse of Ackermann''s function. The paper considers variants of the axiom system for which the solution methods still work, and presents several applications including solving simultaneous linear equations and analyzing control flow in computer programs.
Cited By
- Dolan S (2013). Fun with semirings, ACM SIGPLAN Notices, 48:9, (101-110), Online publication date: 12-Nov-2013.
- Dolan S Fun with semirings Proceedings of the 18th ACM SIGPLAN international conference on Functional programming, (101-110)
- Holley L and Rosen B Qualified data flow problems Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (68-82)
- Banning J An efficient way to find the side effects of procedure calls and the aliases of variables Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, (29-41)
- Schonberg E, Schwartz J and Sharir M Automatic data structure selection in SETL Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, (197-210)
- Barth J (1978). A practical interprocedural data flow analysis algorithm, Communications of the ACM, 21:9, (724-736), Online publication date: 1-Sep-1978.
- Rosen B Monoids for rapid data flow analysis Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, (47-59)
- Reif J Symbolic program analysis in almost linear time Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, (76-83)
- Reif J and Lewis H Symbolic evaluation and the global value graph Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, (104-118)
- Barth J An interprocedural data flow analysis algorithm Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, (119-131)
- Cousot P and Cousot R Abstract interpretation Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, (238-252)
- Tarjan R Reference machines require non-linear time to maintain disjoint sets Proceedings of the ninth annual ACM symposium on Theory of computing, (18-29)
Recommendations
From path graphs to directed path graphs
WG'10: Proceedings of the 36th international conference on Graph-theoretic concepts in computer scienceWe present a linear time algorithm to greedily orient the edges of a path graph model to obtain a directed path graph model (when possible). Moreover we extend this algorithm to find an odd sun when the method fails. This algorithm has several ...
On antimagic directed graphs
An antimagic labeling of an undirected graph G with n vertices and m edges is a bijection from the set of edges of G to the integers {1, …, m} such that all n vertex sums are pairwise distinct, where a vertex sum is the sum of labels of all edges ...
On Models of Directed Path Graphs Non Rooted Directed Path Graphs
A directed path graph is the intersection graph of a family of directed subpaths of a directed tree. A rooted directed path graph is the intersection graph of a family of directed subpaths of a rooted tree. Clearly, rooted directed path graphs are ...