Skip to main content

Gateway Decompositions for Constrained Reachability Problems

  • Conference paper
Experimental Algorithms (SEA 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6049))

Included in the following conference series:

  • 2492 Accesses

Abstract

Given a directed graph whose vertices are labeled with propositional constraints, is there a variable assignment that connects two given vertices by a path of vertices that evaluate to true? Constrained reachability is a powerful generalization of reachability and satisfiability problems and a cornerstone problem in program analysis. The key ingredient to tackle these computationally hard problems in large graphs is the efficient construction of a short path condition: A formula whose satisfiability is equivalent to constrained reachability and which can be fed into a state-of-the-art constraint solver.

In this work, we introduce a new paradigm of decompositions of digraphs with a source and a target, called gateway decompositions. Based on this paradigm, we provide a framework for the modular generation of path conditions and an efficient algorithm to compute a fine-grained gateway decomposition. In benchmarks, we show that especially the combination of our decomposition and a novel arc filtering technique considerably reduces the size of path conditions and the runtime of a standard SAT solver on real-world program dependency graphs.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Attali, P.I.I., Jensen, T., Cards, J.O.S., Bieber, P., Cazin, J., El-marouani, A., Girard, P., louis Lanet, J., Wiels, V., Zanon, G.: The PACAP Prototype: a Tool for Detecting Java Card Illegal Flow (2001)

    Google Scholar 

  2. Buchsbaum, A.L., Kaplan, H., Rogers, A., Westbrook, J.R.: Linear-Time Pointer-Machine Algorithms for Least Common Ancestors, MST Verification, and Dominators. ACM TOPLAS 20(6), 1265–1296 (1998)

    Article  Google Scholar 

  3. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. The MIT Press, Cambridge (2001)

    MATH  Google Scholar 

  4. Een, N., Mishchenko, A., Sörensson, N.: Applying Logic Synthesis for Speeding Up SAT. In: Marques-Silva, J., Sakallah, K.A. (eds.) SAT 2007. LNCS, vol. 4501, pp. 272–286. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  5. Een, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 333–336. Springer, Heidelberg (2004)

    Google Scholar 

  6. Fortune, S., Hopcroft, J., Wyllie, J.: The Directed Subgraph Homeomorphism Problem. Theoretical Computer Science 10(2), 111–121 (1980)

    Article  MATH  MathSciNet  Google Scholar 

  7. Giffhorn, D., Hammer, C.: Precise Analysis of Java Programs using JOANA (Tool Demonstration). In: 8th IEEE Int’l. Working Conference on Source Code Analysis and Manipulation, pp. 267–268 (2008)

    Google Scholar 

  8. Hammer, C.: Information Flow Control for Java - A Comprehensive Approach based on Path Conditions in Dependence Graphs. PhD thesis, Universität Karlsruhe (TH), Fak. f. Informatik (July 2009) ISBN 978-3-86644-398-3

    Google Scholar 

  9. Havlak, P.: Nesting of Reducible and Irreducible Loops. ACM Trans. Program. Lang. Syst. 19(4), 557–567 (1997)

    Article  Google Scholar 

  10. Hermann, M.: Constrained Reachability is NP-complete (March 1998) (manuscript)

    Google Scholar 

  11. Larsen, L., Harrold, M.J.: Slicing Object-Oriented Software. In: ICSE 1996: Proc. of the 18th Int’l. Conf. on Software Engineering, pp. 495–505. IEEE, Los Alamitos (1996)

    Google Scholar 

  12. Lengauer, T., Tarjan, R.E.: A Fast Algorithm for Finding Dominators in a Flowgraph. ACM TOPLAS 1(1), 121–141 (1979)

    Article  MATH  Google Scholar 

  13. Ramalingam, G.: On Loops, Dominators, and Dominance Frontier. In: PLDI 2000: Proc. of the ACM SIGPLAN 2000 Conf. on Programming Language Design and Implementation (2000)

    Google Scholar 

  14. Robschink, T.: Pfadbedingungen in Abhängigkeitgraphen und ihre Anwendung in der Softwaresicherheitstechnik. PhD thesis, Universität Passau (2004)

    Google Scholar 

  15. Santoro, N., Khatib, R.: Labelling and Implicit Routing in Networks. The Computer Journal 28(1), 5–8 (1985)

    Article  MATH  MathSciNet  Google Scholar 

  16. Snelting, G., Robschink, T., Krinke, J.: Efficient Path Conditions in Dependence Graphs for Software Safety Analysis. ACM TOSEM 14(4), 410–457 (2006)

    Article  Google Scholar 

  17. Sreedhar, V.C., Gao, G.R., Lee, Y.-F.: Identifying Loops Using DJ Graphs. ACM Transactions on Programming Languages and Systems 18(6), 649–658 (1996)

    Article  Google Scholar 

  18. Steensgaard, B.: Sequentializing Program Dependence Graphs for Irreducible Programs. Technical report, Microsoft Research, Redmond (1993)

    Google Scholar 

  19. Tarjan, R.E.: Testing flow graph reducibility. J. Comput. Sci. 9, 355–365 (1974)

    MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Katz, B., Krug, M., Lochbihler, A., Rutter, I., Snelting, G., Wagner, D. (2010). Gateway Decompositions for Constrained Reachability Problems. In: Festa, P. (eds) Experimental Algorithms. SEA 2010. Lecture Notes in Computer Science, vol 6049. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13193-6_38

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13193-6_38

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13192-9

  • Online ISBN: 978-3-642-13193-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics