JTDec: A Tool for Tree Decompositions in Soot

  • Krishnendu Chatterjee
  • Amir Kafshdar GoharshadyEmail author
  • Andreas Pavlogiannis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10482)


The notion of treewidth of graphs has been exploited for faster algorithms for several problems arising in verification and program analysis. Moreover, various notions of balanced tree decompositions have been used for improved algorithms supporting dynamic updates and analysis of concurrent programs. In this work, we present a tool for constructing tree-decompositions of CFGs obtained from Java methods, which is implemented as an extension to the widely used Soot framework. The experimental results show that our implementation on real-world Java benchmarks is very efficient. Our tool also provides the first implementation for balancing tree-decompositions. In summary, we present the first tool support for exploiting treewidth in the static analysis problems on Java programs.



We thank all reviewers for their helpful comments which led to considerable improvements in presentation. The research is partially supported by Vienna Science and Technology Fund (WWTF) ICT15-003, Austrian Science Fund (FWF) NFN Grant No. S11407-N23 (RiSE/SHiNE) and ERC Start grant (279307: Graph Games).


  1. 1.
    Blackburn, S.M., Garner, R., Hoffmann, C., Khang, A.M., McKinley, K.S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S.Z.: The DaCapo benchmarks: Java benchmarking development and analysis. ACM SIGPLAN Not. 41(10), 169–190 (2006)CrossRefGoogle Scholar
  2. 2.
    Bodlaender, H., Gustedt, J., Telle, J.A.: Linear-time register allocation for a fixed number of registers. In: SODA 1998, pp. 574-583 (1998)Google Scholar
  3. 3.
    Bodlaender, H.L.: A tourist guide through treewidth. Acta Cybern. 11, 1 (1993)MathSciNetzbMATHGoogle Scholar
  4. 4.
    Bodlaender, H.L.: Discovering treewidth. In: Vojtáš, P., Bieliková, M., Charron-Bost, B., Sýkora, O. (eds.) SOFSEM 2005. LNCS, vol. 3381, pp. 1–16. Springer, Heidelberg (2005). doi: 10.1007/978-3-540-30577-4_1 CrossRefGoogle Scholar
  5. 5.
    Chatterjee, K., Ibsen-Jensen, R., Pavlogiannis, A.: Faster algorithms for quantitative verification in constant treewidth graphs. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 140–157. Springer, Cham (2015). doi: 10.1007/978-3-319-21690-4_9 CrossRefGoogle Scholar
  6. 6.
    Chatterjee, K., Lacki, J.: Faster Algorithms for markov decision processes with low treewidth. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 543–558. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-39799-8_36 CrossRefGoogle Scholar
  7. 7.
    Chatterjee, K., Ibsen-Jensen, R., Pavlogiannis, A.: Optimal reachability and a space-time tradeoff for distance queries in constant-treewidth graphs. In: LIPIcs-Leibniz International Proceedings in Informatics, vol. 57. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2016)Google Scholar
  8. 8.
    Chatterjee, K., Goharshady, A.K., Ibsen-Jensen, R., Pavlogiannis, A.: Algorithms for algebraic path properties in concurrent systems of constant treewidth components. In: ACM SIGPLAN Notices. vol. 51(1), pp. 733-747. ACM (2016)Google Scholar
  9. 9.
    Chatterjee, K., Ibsen-Jensen, R., Pavlogiannis, A., Goyal, P.: Faster algorithms for algebraic path properties in recursive state machines with constant treewidth. In: POPL. ACM (2015)Google Scholar
  10. 10.
    Courcelle, B.: The monadic second-order logic of graphs. I. Recognizable sets of finite graphs. Inf. Comput. 85(1), 12–75 (1990)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Dendris, N.D., Kirousis, L.M., Thilikos, D.M.: Fugitive-search games on graphs and related parameters. Theoret. Comput. Sci. 172(1–2), 233–254 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Elberfeld, M., Jakoby, A., Tantau, T.: Logspace versions of the theorems of Bodlaender, Courcelle. In: 2010 51st Annual IEEE Symposium on Foundations of Computer Science (FOCS), pp. 143-152. IEEE (2010)Google Scholar
  13. 13.
    Gustedt, J., Mæhle, O., Telle, J.: The treewidth of Java programs. Algorithm Eng. Exp. pp. 57–59 (2002)Google Scholar
  14. 14.
    Halin, R.: S-functions for graphs. J. Geom. 8(1–2), 171–186 (1976)CrossRefzbMATHGoogle Scholar
  15. 15.
    Obdržálek, J.: Fast mu-calculus model checking when tree-width is bounded. In: Hunt, W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 80–92. Springer, Heidelberg (2003). doi: 10.1007/978-3-540-45069-6_7 CrossRefGoogle Scholar
  16. 16.
    Robertson, N., Seymour, P.D.: Graph minors. III. Planar tree-width. J. Comb. Theor. Ser. B 36(1), 49–64 (1984)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Thorup, M.: All structured programs have small tree width and good register allocation. Inf. Comput. 142(2), 159–181 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Vallée-Rai, R., Co, P., Gagnon, E., Hendren, L., Lam, P., Sundaresan, V.: Soot - a Java bytecode optimization framework. In: Proceedings of the 1999 Conference of the Centre for Advanced Studies on Collaborative Research, p. 13. IBM Press (1999)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Krishnendu Chatterjee
    • 1
  • Amir Kafshdar Goharshady
    • 1
    Email author
  • Andreas Pavlogiannis
    • 1
  1. 1.IST Austria (Institute of Science and Technology Austria)KlosterneuburgAustria

Personalised recommendations