Skip to main content

Abstract Interpretation as Automated Deduction

  • Conference paper
  • First Online:
Automated Deduction - CADE-25 (CADE 2015)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 9195))

Included in the following conference series:

Abstract

Algorithmic deduction and abstract interpretation are two widely used and successful approaches to implementing program verifiers. A major impediment to combining these approaches is that their mathematical foundations and implementation approaches are fundamentally different. This paper presents a new, logical perspective on abstract interpreters that perform reachability analysis using non-relational domains. We encode reachability of a location in a control-flow graph as satisfiability in a monadic, second-order logic parameterized by a first-order theory. We show that three components of an abstract interpreter, the lattice, transformers and iteration algorithm, represent a first-order, substructural theory, parametric deduction and abduction in that theory, and second-order constraint propagation.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

References

  1. Abramsky, S.: Domain theory and the logic of observable properties. Ph.D. thesis, University of London (1987)

    Google Scholar 

  2. Aiken, A.: Introduction to set constraint-based program analysis. Sci. Comput. Program. 35, 79–111 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  3. Bjørner, N., Duterte, B., de Moura, L.: Accelerating lemma learning using joins - DPLL(\(\sqcup \)). In: Cervesato, I., Veith, H., Voronkov, A. (eds.) LPAR (2008)

    Google Scholar 

  4. Brain, M., D’silva, V., Griggio, A., Haller, L., Kroening, D.: Deciding floating-point logic with abstract conflict driven clause learning. Formal Methods Syst. Des. 45(2), 213–245 (2014)

    Article  Google Scholar 

  5. Büchi, J.R.: On a decision method in restricted second order arithmetic. In: Logic, Methodology and Philosophy of Science, pp. 1–11. Stanford University Press (1960)

    Google Scholar 

  6. Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL, pp. 238–252. ACM Press (1977)

    Google Scholar 

  7. Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL, pp. 269–282. ACM Press (1979)

    Google Scholar 

  8. Cousot, P., Cousot, R., Mauborgne, L.: Theories, solvers and static analysis by abstract interpretation. J. ACM 59(6), 31:1–31:56 (2013)

    MathSciNet  Google Scholar 

  9. D’Silva, V., Haller, L., Kroening, D.: Abstract conflict driven learning. In: Giacobazzi, R., Cousot, R. (eds.) POPL, pp. 143–154. ACM Press (2013)

    Google Scholar 

  10. D’Silva, V., Haller, L., Kroening, D., Tautschnig, M.: Numeric bounds analysis with conflict-driven learning. In: Flanagan, C., König, B. (eds.) TACAS 2012. LNCS, vol. 7214, pp. 48–63. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  11. Grebenshchikov, S., Lopes, N.P., Popeea, C., Rybalchenko, A.: Synthesizing software verifiers from proof rules. In: Vitek, J., Lin, H., Tip, F. (eds.) PLDI, pp. 405–416. ACM Press (2012)

    Google Scholar 

  12. Gulavani, B.S., Chakraborty, S., Nori, A.V., Rajamani, S.K.: Automatically refining abstract interpretations. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 443–458. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  13. Gulwani, S., Tiwari, A.: Combining abstract interpreters. In: Schwartzbach, M.I., Ball, T. (eds.) PLDI, pp. 376–386. ACM Press (2006)

    Google Scholar 

  14. Haller, L.C.R.: Abstract satisfaction. Ph.D. thesis, University of Oxford (2014)

    Google Scholar 

  15. Harris, W.R., Sankaranarayanan, S., Ivančić, F., Gupta, A.: Program analysis via satisfiability modulo path programs. In: Hermenegildo, M., Palsberg, J. (eds.) POPL, pp. 71–82 (2010)

    Google Scholar 

  16. Jensen, T.P.: Strictness analysis in logical form. In: Hughes, J. (ed.) Functional Programming Languages and Computer Architecture. LNCS, vol. 523, pp. 352–366. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  17. Kroening, D., Reps, T.W., Seshia, S.A., Thakur, A.V.: Decision procedures and abstract interpretation (Dagstuhl seminar 14351). Dagstuhl Rep. 4(8), 89–106 (2014)

    Google Scholar 

  18. Leino, K.R.M., Logozzo, F.: Using widenings to infer loop invariants inside an SMT solver, or: a theorem prover as abstract domain. In: Workshop on Invariant Generation, pp. 70–84. RISC Report 07–07 (2007)

    Google Scholar 

  19. Pelleau, M., Truchet, C., Benhamou, F.: Octagonal domains for continuous constraints. In: Lee, J. (ed.) CP 2011. LNCS, vol. 6876, pp. 706–720. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  20. Rasiowa, H., Sikorski, R.: The Mathematics of Metamathematics. Polish Academy of Science, Warsaw (1963)

    MATH  Google Scholar 

  21. Schmidt, D.A.: Internal and external logics of abstract interpretations. In: Logozzo, F., Peled, D.A., Zuck, L.D. (eds.) VMCAI 2008. LNCS, vol. 4905, pp. 263–278. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  22. Thakur, A.V.: Symbolic abstraction: algorithms and applications. Ph.D. thesis, The University of Wisconsin - Madison (2014)

    Google Scholar 

  23. Thakur, A.V., Breck, J., Reps, T.W.: Satisfiability modulo abstraction for separation logic with linked lists. In: Rungta, N., Tkachuk, O. (eds.) SPIN, pp. 58–67 (2014)

    Google Scholar 

  24. Thakur, A., Elder, M., Reps, T.: Bilateral algorithms for symbolic abstraction. In: Miné, A., Schmidt, D. (eds.) SAS 2012. LNCS, vol. 7460, pp. 111–128. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  25. Thakur, A.V., Lal, A., Lim, J., Reps, T.W.: Posthat and all that: automating abstract interpretation. Electr. Notes Theor. Comput. Sci. 311, 15–32 (2015)

    Article  Google Scholar 

  26. Thakur, A., Reps, T.: A Generalization of Stålmarck’s method. In: Miné, A., Schmidt, D. (eds.) SAS 2012. LNCS, vol. 7460, pp. 334–351. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  27. Thakur, A., Reps, T.: A method for symbolic computation of abstract operations. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 174–192. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  28. Tiwari, A., Gulwani, S.: Logical interpretation: static program analysis using theorem proving. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 147–166. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  29. Truchet, C., Pelleau, M., Benhamou, F.: Abstract domains for constraint programming, with the example of octagons. In: Symbolic and Numeric Algorithms for Scientific, Computing, pp. 72–79 (2010)

    Google Scholar 

  30. van den Elsen, S.: Weak monadic second-order theory of one successor. Seminar: Decision Procedures (2012)

    Google Scholar 

  31. Vardi, M.Y., Wilke, T.: Automata: from logics to algorithms. In: Logic and Automata: History and Perspectives [in Honor of Wolfgang Thomas], pp. 629–736 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Caterina Urban .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

D’Silva, V., Urban, C. (2015). Abstract Interpretation as Automated Deduction. In: Felty, A., Middeldorp, A. (eds) Automated Deduction - CADE-25. CADE 2015. Lecture Notes in Computer Science(), vol 9195. Springer, Cham. https://doi.org/10.1007/978-3-319-21401-6_31

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-21401-6_31

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-21400-9

  • Online ISBN: 978-3-319-21401-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics