skip to main content
article

Algorithms for algebraic path properties in concurrent systems of constant treewidth components

Published:11 January 2016Publication History
Skip Abstract Section

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.

References

  1. A. Abboud and V. V. Williams. Popular conjectures imply strong lower bounds for dynamic problems. In FOCS, pages 434–443, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. R. Alur, S. Kannan, and M. Yannakakis. Communicating hierarchical state machines. ICAL, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Arnborg and A. Proskurowski. Linear time algorithms for NP-hard problems restricted to partial k-trees. Discrete Appl Math, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. W. A. Babich and M. Jazayeri. The method of attributes for data flow analysis. Acta Informatica, 10(3), 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. Bellman. On a Routing Problem. Quarterly of Applied Mathematics, 1958.Google ScholarGoogle ScholarCross RefCross Ref
  7. M. Bern, E. Lawler, and A. Wong. Linear-time computation of optimal subgraphs of decomposable graphs. J Algorithm, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. M. e. a. Blackburn. The dacapo benchmarks: Java benchmarking development and analysis. In OOPSLA, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. H. Bodlaender. Discovering treewidth. In SOFSEM 2005: Theory and Practice of Computer Science, volume 3381 of LNCS. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. H. L. Bodlaender. Dynamic programming on graphs with bounded treewidth. In ICALP, LNCS. Springer, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. H. L. Bodlaender. A tourist guide through treewidth. Acta Cybern., 1993.Google ScholarGoogle Scholar
  12. H. L. Bodlaender. A linear-time algorithm for finding treedecompositions of small treewidth. SIAM J. Comput., 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. H. L. Bodlaender and T. Hagerup. Parallel algorithms with optimal speedup for bounded treewidth. SIAM J. Comput., 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Bouajjani, J. Esparza, and T. Touili. A generic approach to the static analysis of concurrent programs with procedures. POPL, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Bouajjani, J. Esparza, S. Schwoon, and J. Strejˇcek. Reachability analysis of multithreaded software with asynchronous communication. FSTTCS, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. B. Burgstaller, J. Blieberger, and B. Scholz. On the tree width of ada programs. In Reliable Software Technologies - Ada-Europe 2004.Google ScholarGoogle Scholar
  18. 2004.Google ScholarGoogle Scholar
  19. P. Cerny, T. A. Henzinger, and A. Radhakrishna. Quantitative abstraction refinement. In POPL, pages 115–128, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle Scholar
  21. K. Chatterjee and J. Lacki. Faster algorithms for Markov decision processes with low treewidth. In CAV, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. K. Chatterjee, L. Doyen, and T. A. Henzinger. Quantitative languages. ACM Trans. Comput. Log., 11(4), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle Scholar
  24. K. Chatterjee, R. Ibsen-Jensen, and A. Pavlogiannis. Faster algorithms for quantitative verification in constant treewidth graphs. In CAV, 2015.Google ScholarGoogle Scholar
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. K. Chatterjee, A. Pavlogiannis, and Y. Velner. Quantitative interprocedural analysis. In POPL, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. Chaudhuri and C. D. Zaroliagis. Shortest Paths in Digraphs of Small Treewidth. Part I: Sequential Algorithms. Algorithmica, 1995.Google ScholarGoogle Scholar
  28. R. Chugh, J. W. Voung, R. Jhala, and S. Lerner. Dataflow analysis for concurrent programs using datarace detection. PLDI, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. B. Courcelle. Graph rewriting: An algebraic and logic approach. In Handbook of Theoretical Computer Science (Vol. B). MIT Press, Cambridge, MA, USA, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. De, D. D’Souza, and R. Nasre. Dataflow analysis for dataracefree programs. ESOP’11/ETAPS’11, pages 196–215. Springer-Verlag, 2011.Google ScholarGoogle Scholar
  31. E. Duesterwald, R. Gupta, and M. L. Soffa. Demand-driven computation of interprocedural data flow. POPL, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. Elberfeld, A. Jakoby, and T. Tantau. Logspace versions of the theorems of Bodlaender and Courcelle. In FOCS, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. A. Farzan and P. Madhusudan. Causal dataflow analysis for concurrent programs. TACAS, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. A. Farzan, Z. Kincaid, and A. Podelski. Inductive data flow graphs. POPL, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. R. W. Floyd. Algorithm 97: Shortest path. Communications of the ACM, 1962. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. L. R. Ford. Network Flow Theory. Report P-923, The Rand Corporation, 1956.Google ScholarGoogle Scholar
  38. D. Grunwald and H. Srinivasan. Data flow equations for explicitly parallel programs. PPOPP, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. J. Gustedt, O. Maehle, and J. Telle. The treewidth of java programs. In Algorithm Engineering and Experiments. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. R. Halin. S-functions for graphs. Journal of Geometry, 1976.Google ScholarGoogle ScholarCross RefCross Ref
  41. D. Harel and R. Tarjan. Fast Algorithms for Finding Nearest Common Ancestors. SIAM Journal on Computing, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. D. Harel, O. Kupferman, and M. Vardi. On the complexity of verifying concurrent transition systems. In CONCUR. 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. S. Horwitz, T. Reps, and M. Sagiv. Demand interprocedural dataflow analysis. SIGSOFT Softw. Eng. Notes, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. D. B. Johnson. Efficient Algorithms for Shortest Paths in Sparse Networks. J. ACM, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  47. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  48. R. M. Karp. A characterization of the minimum cycle mean in a digraph. Discrete Mathematics, 1978.Google ScholarGoogle Scholar
  49. G. A. Kildall. A unified approach to global program optimization. POPL, 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. S. C. Kleene. Representation of events in nerve nets and finite automata. Automata Studies, 1956.Google ScholarGoogle ScholarCross RefCross Ref
  51. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  52. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  53. S. La Torre, P. Madhusudan, and G. Parlato. Context-bounded analysis of concurrent queue systems. TACAS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. A. Lal and T. Reps. Reducing concurrent analysis under a context bound to sequential analysis. Form. Methods Syst. Des., 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. A. Lal, T. Touili, N. Kidd, and T. Reps. Interprocedural analysis of concurrent programs under a context bound. TACAS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. A. Lal, S. Qadeer, and S. K. Lahiri. A solver for reachability modulo theories. CAV, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. E. Lawler. Combinatorial Optimization: Networks and Matroids. Saunders College Publishing, 1976.Google ScholarGoogle Scholar
  58. D. J. Lehmann. Algebraic structures for transitive closure. Theoretical Computer Science, 1977.Google ScholarGoogle Scholar
  59. P. Madhusudan and G. Parlato. The tree width of auxiliary storage. POPL, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. N. A. Naeem, O. Lhoták, and J. Rodriguez. Practical extensions to the ifds algorithm. CC, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. J. Obdrzálek. Fast mu-calculus model checking when tree-width is bounded. In CAV, 2003.Google ScholarGoogle Scholar
  62. S. Qadeer and J. Rehof. Context-bounded model checking of concurrent software. TACAS, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. B. A. Reed. Finding approximate separators and computing tree width quickly. In STOC, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. T. Reps. Demand interprocedural program analysis using logic databases. In Applications of Logic Databases, volume 296. 1995. ISBN 978-1-4613-5926-5.Google ScholarGoogle Scholar
  65. T. Reps. Program analysis via graph reachability. ILPS, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. T. Reps, S. Horwitz, and M. Sagiv. Precise interprocedural dataflow analysis via graph reachability. In POPL, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. N. Robertson and P. Seymour. Graph minors. iii. planar tree-width. Journal of Combinatorial Theory, Series B, 1984.Google ScholarGoogle ScholarCross RefCross Ref
  68. M. Sagiv, T. Reps, and S. Horwitz. Precise interprocedural dataflow analysis with applications to constant propagation. Theor. Comput. Sci., 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. D. Suwimonteerabuth, J. Esparza, and S. Schwoon. Symbolic contextbounded analysis of multithreaded java programs. SPIN, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. M. Thorup. All Structured Programs Have Small Tree Width and Good Register Allocation. Information and Computation, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. 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 ScholarGoogle Scholar
  72. T. van Dijk, J.-P. van den Heuvel, and W. Slob. Computing treewidth with libtw. Technical report, University of Utrecht, 2006.Google ScholarGoogle Scholar
  73. A. Viterbi. Error bounds for convolutional codes and an asymptotically optimum decoding algorithm. IEEE Trans. Inf. Theor., 13(2): 260–269, 1967. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. S. Warshall. A Theorem on Boolean Matrices. J. ACM, 1962. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  76. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  77. X. Yuan, R. Gupta, and R. Melhem. Demand-driven data flow analysis for communication optimization. Parallel Processing Letters, 07(04): 359–370, 1997.Google ScholarGoogle ScholarCross RefCross Ref
  78. F. K. Zadeck. Incremental data flow analysis in a structured program editor. SIGPLAN, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Algorithms for algebraic path properties in concurrent systems of constant treewidth components

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!