skip to main content
10.1145/2837614.2837624acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

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

Published: 11 January 2016 Publication History

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

Cited By

View all
  • (2024)Optimal blocks for maximizing the transaction fee revenue of Bitcoin minersJournal of Combinatorial Optimization10.1007/s10878-024-01249-049:1Online publication date: 19-Dec-2024
  • (2024)Faster Lifetime-Optimal Speculative Partial Redundancy Elimination for Goto-Free ProgramsDependable Software Engineering. Theories, Tools, and Applications10.1007/978-981-96-0602-3_21(382-398)Online publication date: 25-Nov-2024
  • (2022)Optimal Mining: Maximizing Bitcoin Miners' Revenues from Transaction Fees2022 IEEE International Conference on Blockchain (Blockchain)10.1109/Blockchain55522.2022.00044(266-273)Online publication date: Aug-2022
  • Show More Cited By

Index Terms

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

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
      January 2016
      815 pages
      ISBN:9781450335492
      DOI:10.1145/2837614
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 51, Issue 1
        POPL '16
        January 2016
        815 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2914770
        • Editor:
        • Andy Gill
        Issue’s Table of Contents
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Sponsors

      In-Cooperation

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 11 January 2016

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Algebraic path properties
      2. Concurrent systems
      3. Constant-treewidth graphs
      4. Shortest path

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      POPL '16
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 860 of 4,328 submissions, 20%

      Upcoming Conference

      POPL '26

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)15
      • Downloads (Last 6 weeks)1
      Reflects downloads up to 18 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Optimal blocks for maximizing the transaction fee revenue of Bitcoin minersJournal of Combinatorial Optimization10.1007/s10878-024-01249-049:1Online publication date: 19-Dec-2024
      • (2024)Faster Lifetime-Optimal Speculative Partial Redundancy Elimination for Goto-Free ProgramsDependable Software Engineering. Theories, Tools, and Applications10.1007/978-981-96-0602-3_21(382-398)Online publication date: 25-Nov-2024
      • (2022)Optimal Mining: Maximizing Bitcoin Miners' Revenues from Transaction Fees2022 IEEE International Conference on Blockchain (Blockchain)10.1109/Blockchain55522.2022.00044(266-273)Online publication date: Aug-2022
      • (2021)Faster algorithms for quantitative verification in bounded treewidth graphsFormal Methods in System Design10.1007/s10703-021-00373-5Online publication date: 29-Apr-2021
      • (2020)What’s Decidable About Program Verification Modulo Axioms?Tools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-030-45237-7_10(158-177)Online publication date: 17-Apr-2020
      • (2019)The treewidth of smart contractsProceedings of the 34th ACM/SIGAPP Symposium on Applied Computing10.1145/3297280.3297322(400-408)Online publication date: 8-Apr-2019
      • (2019)Decidable verification of uninterpreted programsProceedings of the ACM on Programming Languages10.1145/32903593:POPL(1-29)Online publication date: 2-Jan-2019
      • (2018)Algorithms for Algebraic Path Properties in Concurrent Systems of Constant Treewidth ComponentsACM Transactions on Programming Languages and Systems10.1145/321025740:3(1-43)Online publication date: 5-Jul-2018
      • (2017)Optimal Dyck reachability for data-dependence and alias analysisProceedings of the ACM on Programming Languages10.1145/31581182:POPL(1-30)Online publication date: 27-Dec-2017
      • (2017)Pushdown reachability with constant treewidthInformation Processing Letters10.1016/j.ipl.2017.02.003122:C(25-29)Online publication date: 1-Jun-2017
      • Show More Cited By

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media