Abstract
We study algorithmic questions for concurrent systems where the transitions are labeled from a complete, closed semiring, and path properties are algebraic with semiring operations. The algebraic path properties can model dataflow analysis problems, the shortest path problem, and many other natural problems that arise in program analysis. We consider that each component of the concurrent system is a graph with constant treewidth, a property satisfied by the controlflow graphs of most programs. We allow for multiple possible queries, which arise naturally in demand driven dataflow analysis. The study of multiple queries allows us to consider the tradeoff between the resource usage of the one-time preprocessing and for each individual query. The traditional approach constructs the product graph of all components and applies the best-known graph algorithm on the product. In this approach, even the answer to a single query requires the transitive closure (i.e., the results of all possible queries), which provides no room for tradeoff between preprocessing and query time. Our main contributions are algorithms that significantly improve the worst-case running time of the traditional approach, and provide various tradeoffs depending on the number of queries. For example, in a concurrent system of two components, the traditional approach requires hexic time in the worst case for answering one query as well as computing the transitive closure, whereas we show that with one-time preprocessing in almost cubic time, each subsequent query can be answered in at most linear time, and even the transitive closure can be computed in almost quartic time. Furthermore, we establish conditional optimality results showing that the worst-case running time of our algorithms cannot be improved without achieving major breakthroughs in graph algorithms (i.e., improving the worst-case bound for the shortest path problem in general graphs). Preliminary experimental results show that our algorithms perform favorably on several benchmarks.
- A. Abboud and V. V. Williams. Popular conjectures imply strong lower bounds for dynamic problems. In FOCS, pages 434–443, 2014. Google Scholar
Digital Library
- A. Abboud, V. V. Williams, and H. Yu. Matching triangles and basing hardness on an extremely popular conjecture. In STOC, pages 41–50, 2015. Google Scholar
Digital Library
- R. Alur, S. Kannan, and M. Yannakakis. Communicating hierarchical state machines. ICAL, 1999. Google Scholar
Digital Library
- S. Arnborg and A. Proskurowski. Linear time algorithms for NP-hard problems restricted to partial k-trees. Discrete Appl Math, 1989. Google Scholar
Digital Library
- W. A. Babich and M. Jazayeri. The method of attributes for data flow analysis. Acta Informatica, 10(3), 1978. Google Scholar
Digital Library
- R. Bellman. On a Routing Problem. Quarterly of Applied Mathematics, 1958.Google Scholar
Cross Ref
- M. Bern, E. Lawler, and A. Wong. Linear-time computation of optimal subgraphs of decomposable graphs. J Algorithm, 1987. Google Scholar
Digital Library
- S. M. e. a. Blackburn. The dacapo benchmarks: Java benchmarking development and analysis. In OOPSLA, 2006. Google Scholar
Digital Library
- H. Bodlaender. Discovering treewidth. In SOFSEM 2005: Theory and Practice of Computer Science, volume 3381 of LNCS. Springer, 2005. Google Scholar
Digital Library
- H. L. Bodlaender. Dynamic programming on graphs with bounded treewidth. In ICALP, LNCS. Springer, 1988. Google Scholar
Digital Library
- H. L. Bodlaender. A tourist guide through treewidth. Acta Cybern., 1993.Google Scholar
- H. L. Bodlaender. A linear-time algorithm for finding treedecompositions of small treewidth. SIAM J. Comput., 1996. Google Scholar
Digital Library
- H. L. Bodlaender and T. Hagerup. Parallel algorithms with optimal speedup for bounded treewidth. SIAM J. Comput., 1998. Google Scholar
Digital Library
- A. Bouajjani, J. Esparza, and T. Touili. A generic approach to the static analysis of concurrent programs with procedures. POPL, 2003. Google Scholar
Digital Library
- A. Bouajjani, J. Esparza, S. Schwoon, and J. Strejˇcek. Reachability analysis of multithreaded software with asynchronous communication. FSTTCS, 2005. Google Scholar
Digital Library
- P. Bouyer, U. Fahrenberg, K. G. Larsen, N. Markey, and J. Srba. Infinite runs in weighted timed automata with energy constraints. In Formal Modeling and Analysis of Timed Systems, volume 5215 of Lecture Notes in Computer Science, pages 33–47. Springer Berlin Heidelberg, 2008. Google Scholar
Digital Library
- B. Burgstaller, J. Blieberger, and B. Scholz. On the tree width of ada programs. In Reliable Software Technologies - Ada-Europe 2004.Google Scholar
- 2004.Google Scholar
- P. Cerny, T. A. Henzinger, and A. Radhakrishna. Quantitative abstraction refinement. In POPL, pages 115–128, 2013. Google Scholar
Digital Library
- P. Cerny, E. M. Clarke, T. A. Henzinger, A. Radhakrishna, L. Ryzhyk, R. Samanta, and T. Tarrach. From non-preemptive to preemptive scheduling using synchronization synthesis. In CAV, 2015.Google Scholar
- K. Chatterjee and J. Lacki. Faster algorithms for Markov decision processes with low treewidth. In CAV, 2013. Google Scholar
Digital Library
- K. Chatterjee, L. Doyen, and T. A. Henzinger. Quantitative languages. ACM Trans. Comput. Log., 11(4), 2010. Google Scholar
Digital Library
- K. Chatterjee, A. K. Goharshady, R. Ibsen-Jensen, and A. Pavlogiannis. Algorithms for algebraic path properties in concurrent systems of constant treewidth components. CoRR, abs/1510.07565, 2015. URL http://arxiv.org/abs/1510.07565.Google Scholar
- K. Chatterjee, R. Ibsen-Jensen, and A. Pavlogiannis. Faster algorithms for quantitative verification in constant treewidth graphs. In CAV, 2015.Google Scholar
- K. Chatterjee, R. Ibsen-Jensen, A. Pavlogiannis, and P. Goyal. Faster algorithms for algebraic path properties in recursive state machines with constant treewidth. In POPL, 2015. Google Scholar
Digital Library
- K. Chatterjee, A. Pavlogiannis, and Y. Velner. Quantitative interprocedural analysis. In POPL, 2015. Google Scholar
Digital Library
- S. Chaudhuri and C. D. Zaroliagis. Shortest Paths in Digraphs of Small Treewidth. Part I: Sequential Algorithms. Algorithmica, 1995.Google Scholar
- R. Chugh, J. W. Voung, R. Jhala, and S. Lerner. Dataflow analysis for concurrent programs using datarace detection. PLDI, 2008. Google Scholar
Digital Library
- B. Courcelle. Graph rewriting: An algebraic and logic approach. In Handbook of Theoretical Computer Science (Vol. B). MIT Press, Cambridge, MA, USA, 1990. Google Scholar
Digital Library
- A. De, D. D’Souza, and R. Nasre. Dataflow analysis for dataracefree programs. ESOP’11/ETAPS’11, pages 196–215. Springer-Verlag, 2011.Google Scholar
- E. Duesterwald, R. Gupta, and M. L. Soffa. Demand-driven computation of interprocedural data flow. POPL, 1995. Google Scholar
Digital Library
- M. B. Dwyer, L. A. Clarke, J. M. Cobleigh, and G. Naumovich. Flow analysis for verifying properties of concurrent software systems. ACM Trans. Softw. Eng. Methodol., 13(4):359–430, 2004. Google Scholar
Digital Library
- M. Elberfeld, A. Jakoby, and T. Tantau. Logspace versions of the theorems of Bodlaender and Courcelle. In FOCS, 2010. Google Scholar
Digital Library
- A. Farzan and P. Madhusudan. Causal dataflow analysis for concurrent programs. TACAS, 2007. Google Scholar
Digital Library
- A. Farzan, Z. Kincaid, and A. Podelski. Inductive data flow graphs. POPL, 2013. Google Scholar
Digital Library
- R. W. Floyd. Algorithm 97: Shortest path. Communications of the ACM, 1962. Google Scholar
Digital Library
- L. R. Ford. Network Flow Theory. Report P-923, The Rand Corporation, 1956.Google Scholar
- D. Grunwald and H. Srinivasan. Data flow equations for explicitly parallel programs. PPOPP, 1993. Google Scholar
Digital Library
- J. Gustedt, O. Maehle, and J. Telle. The treewidth of java programs. In Algorithm Engineering and Experiments. Springer, 2002. Google Scholar
Digital Library
- R. Halin. S-functions for graphs. Journal of Geometry, 1976.Google Scholar
Cross Ref
- D. Harel and R. Tarjan. Fast Algorithms for Finding Nearest Common Ancestors. SIAM Journal on Computing, 1984. Google Scholar
Digital Library
- D. Harel, O. Kupferman, and M. Vardi. On the complexity of verifying concurrent transition systems. In CONCUR. 1997. Google Scholar
Digital Library
- M. Henzinger, S. Krinninger, D. Nanongkai, and T. Saranurak. Unifying and strengthening hardness for dynamic problems via the online matrix-vector multiplication conjecture. In STOC, pages 21–30, 2015. Google Scholar
Digital Library
- S. Horwitz, T. Reps, and M. Sagiv. Demand interprocedural dataflow analysis. SIGSOFT Softw. Eng. Notes, 1995. Google Scholar
Digital Library
- D. B. Johnson. Efficient Algorithms for Shortest Paths in Sparse Networks. J. ACM, 1977. Google Scholar
Digital Library
- V. Kahlon, N. Sinha, E. Kruus, and Y. Zhang. Static data race detection for concurrent programs with asynchronous calls. ESEC/FSE ’09, pages 13–22, 2009. Google Scholar
Digital Library
- V. Kahlon, S. Sankaranarayanan, and A. Gupta. Static analysis for concurrent programs with applications to data race detection. STTT, 15(4):321–336, 2013.Google Scholar
Digital Library
- R. M. Karp. A characterization of the minimum cycle mean in a digraph. Discrete Mathematics, 1978.Google Scholar
- G. A. Kildall. A unified approach to global program optimization. POPL, 1973. Google Scholar
Digital Library
- S. C. Kleene. Representation of events in nerve nets and finite automata. Automata Studies, 1956.Google Scholar
Cross Ref
- J. Knoop, B. Steffen, and J. Vollmer. Parallelism for free: Efficient and optimal bitvector analyses for parallel programs. ACM Trans. Program. Lang. Syst., 1996. Google Scholar
Digital Library
- P. K. Krause. Optimal register allocation in polynomial time. In R. Jhala and K. De Bosschere, editors, Compiler Construction, Lecture Notes in Computer Science. 2013. Google Scholar
Digital Library
- S. La Torre, P. Madhusudan, and G. Parlato. Context-bounded analysis of concurrent queue systems. TACAS, 2008. Google Scholar
Digital Library
- A. Lal and T. Reps. Reducing concurrent analysis under a context bound to sequential analysis. Form. Methods Syst. Des., 2009. Google Scholar
Digital Library
- A. Lal, T. Touili, N. Kidd, and T. Reps. Interprocedural analysis of concurrent programs under a context bound. TACAS, 2008. Google Scholar
Digital Library
- A. Lal, S. Qadeer, and S. K. Lahiri. A solver for reachability modulo theories. CAV, 2012. Google Scholar
Digital Library
- E. Lawler. Combinatorial Optimization: Networks and Matroids. Saunders College Publishing, 1976.Google Scholar
- D. J. Lehmann. Algebraic structures for transitive closure. Theoretical Computer Science, 1977.Google Scholar
- P. Madhusudan and G. Parlato. The tree width of auxiliary storage. POPL, 2011. Google Scholar
Digital Library
- N. A. Naeem, O. Lhoták, and J. Rodriguez. Practical extensions to the ifds algorithm. CC, 2010. Google Scholar
Digital Library
- J. Obdrzálek. Fast mu-calculus model checking when tree-width is bounded. In CAV, 2003.Google Scholar
- S. Qadeer and J. Rehof. Context-bounded model checking of concurrent software. TACAS, 2005. Google Scholar
Digital Library
- B. A. Reed. Finding approximate separators and computing tree width quickly. In STOC, 1992. Google Scholar
Digital Library
- T. Reps. Demand interprocedural program analysis using logic databases. In Applications of Logic Databases, volume 296. 1995. ISBN 978-1-4613-5926-5.Google Scholar
- T. Reps. Program analysis via graph reachability. ILPS, 1997. Google Scholar
Digital Library
- T. Reps, S. Horwitz, and M. Sagiv. Precise interprocedural dataflow analysis via graph reachability. In POPL, 1995. Google Scholar
Digital Library
- N. Robertson and P. Seymour. Graph minors. iii. planar tree-width. Journal of Combinatorial Theory, Series B, 1984.Google Scholar
Cross Ref
- M. Sagiv, T. Reps, and S. Horwitz. Precise interprocedural dataflow analysis with applications to constant propagation. Theor. Comput. Sci., 1996. Google Scholar
Digital Library
- D. Suwimonteerabuth, J. Esparza, and S. Schwoon. Symbolic contextbounded analysis of multithreaded java programs. SPIN, 2008. Google Scholar
Digital Library
- M. Thorup. All Structured Programs Have Small Tree Width and Good Register Allocation. Information and Computation, 1998. Google Scholar
Digital Library
- R. Vallée-Rai, P. Co, E. Gagnon, L. Hendren, P. Lam, and V. Sundaresan. Soot - a java bytecode optimization framework. In CASCON ’99. IBM Press, 1999.Google Scholar
- T. van Dijk, J.-P. van den Heuvel, and W. Slob. Computing treewidth with libtw. Technical report, University of Utrecht, 2006.Google Scholar
- A. Viterbi. Error bounds for convolutional codes and an asymptotically optimum decoding algorithm. IEEE Trans. Inf. Theor., 13(2): 260–269, 1967. Google Scholar
Digital Library
- S. Warshall. A Theorem on Boolean Matrices. J. ACM, 1962. Google Scholar
Digital Library
- R. Wilhelm, J. Engblom, A. Ermedahl, N. Holsti, S. Thesing, D. B. Whalley, G. Bernat, C. Ferdinand, R. Heckmann, T. Mitra, F. Mueller, I. Puaut, P. P. Puschner, J. Staschulat, and P. Stenström. The worst-case execution-time problem - overview of methods and survey of tools. ACM Trans. Embedded Comput. Syst., 7(3), 2008. Google Scholar
Digital Library
- D. Yan, G. Xu, and A. Rountev. Demand-driven context-sensitive alias analysis for java. In Proceedings of the 2011 International Symposium on Software Testing and Analysis, ISSTA, 2011. Google Scholar
Digital Library
- X. Yuan, R. Gupta, and R. Melhem. Demand-driven data flow analysis for communication optimization. Parallel Processing Letters, 07(04): 359–370, 1997.Google Scholar
Cross Ref
- F. K. Zadeck. Incremental data flow analysis in a structured program editor. SIGPLAN, 1984. Google Scholar
Digital Library
Index Terms
Algorithms for algebraic path properties in concurrent systems of constant treewidth components
Recommendations
Faster Algorithms for Algebraic Path Properties in Recursive State Machines with Constant Treewidth
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesInterprocedural 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 ...
Algorithms for algebraic path properties in concurrent systems of constant treewidth components
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesWe study algorithmic questions for concurrent systems where the transitions are labeled from a complete, closed semiring, and path properties are algebraic with semiring operations. The algebraic path properties can model dataflow analysis problems, ...
Algorithms for Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components
We study algorithmic questions wrt algebraic path properties in concurrent systems, where the transitions of the system are labeled from a complete, closed semiring. The algebraic path properties can model dataflow analysis problems, the shortest path ...






Comments