Advertisement

The Complexity of Abduction for Separated Heap Abstractions

  • Nikos Gorogiannis
  • Max Kanovich
  • Peter W. O’Hearn
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6887)

Abstract

Abduction, the problem of discovering hypotheses that support a conclusion, has mainly been studied in the context of philosophical logic and Artificial Intelligence. Recently, it was used in a compositional program analysis based on separation logic that discovers (partial) pre/post specifications for un-annotated code which approximates memory requirements. Although promising practical results have been obtained, completeness issues and the computational hardness of the problem have not been studied. We consider a fragment of separation logic that is representative of applications in program analysis, and we study the complexity of searching for feasible solutions to abduction. We show that standard entailment is decidable in polynomial time, while abduction ranges from NP-complete to polynomial time for different sub-problems.

Keywords

Polynomial Time Program Analysis Spatial Part Separation Logic Abductive Inference 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Berdine, J., Calcagno, C., Cook, B., Distefano, D., O’Hearn, P.W., Wies, T., Yang, H.: Shape analysis for composite data structures. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 178–192. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Berdine, J., Calcagno, C., O’Hearn, P.W.: Symbolic execution with separation logic. In: Yi, K. (ed.) APLAS 2005. LNCS, vol. 3780, pp. 52–68. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Bjørner, N., Hendrix, J.: Linear functional fixed-points. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 124–139. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  4. 4.
    Brotherston, J., Kanovich, M.I.: Undecidability of propositional separation logic and its neighbours. In: LICS, pp. 130–139. IEEE Computer Society, Los Alamitos (2010)Google Scholar
  5. 5.
    Calcagno, C., Distefano, D.: Infer: an automatic program veriifier for memory safety of C programs. In: To appear in 3rd NASA Formal Methods Symposium (2011)Google Scholar
  6. 6.
    Calcagno, C., Distefano, D., O’Hearn, P.W., Yang, H.: Compositional shape analysis by means of bi-abduction. In: 36th POPL, pp. 289–300 (2009)Google Scholar
  7. 7.
    Calcagno, C., Distefano, D., Vafeiadis, V.: Bi-abductive resource invariant synthesis. In: Hu, Z. (ed.) APLAS 2009. LNCS, vol. 5904, pp. 259–274. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Calcagno, C., O’Hearn, P.W., Yang, H.: Local action and abstract separation logic. In: LICS (2007)Google Scholar
  9. 9.
    Cousot, P., Cousot, R.: Modular static program analysis. In: CC 2002. LNCS, vol. 2304, pp. 159–178. Springer, Heidelberg (2002)Google Scholar
  10. 10.
    Creignou, N., Zanuttini, B.: A complete classification of the complexity of propositional abduction. SIAM J. Comput. 36(1), 207–229 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Distefano, D.: Attacking large industrial code with bi-abductive inference. In: Alpuente, M., Cook, B., Joubert, C. (eds.) FMICS 2009. LNCS, vol. 5825, pp. 1–8. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  12. 12.
    Distefano, D., Filipović, I.: Memory leaks detection in java by bi-abductive inference. In: Rosenblum, D.S., Taentzer, G. (eds.) FASE 2010. LNCS, vol. 6013, pp. 278–292. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Distefano, D., O’Hearn, P.W., Yang, H.: A local shape analysis based on separation logic. In: Hermanns, H. (ed.) TACAS 2006. LNCS, vol. 3920, pp. 287–302. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Eiter, T., Gottlob, G.: The complexity of logic-based abduction. J. ACM 42(1), 3–42 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman, New York (1979)zbMATHGoogle Scholar
  16. 16.
    Giacobazzi, R.: Abductive analysis of modular logic programs. In: Proc. of the 1994 International Logic Prog. Symp., pp. 377–392. The MIT Press, Cambridge (1994)Google Scholar
  17. 17.
    Gulavani, B., Chakraborty, S., Ramalingam, G., Nori, A.: Bottom-up shape analysis. In: Palsberg, J., Su, Z. (eds.) SAS 2009. LNCS, vol. 5673, pp. 188–204. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  18. 18.
    Gulwani, S., McCloskey, B., Tiwari, A.: Lifting abstract interpreters to quantified logical domains. In: 35th POPL, pp. 235–246 (2008)Google Scholar
  19. 19.
    Yang, H., Lee, O., Berdine, J., Calcagno, C., Cook, B., Distefano, D., O’Hearn, P.W.: Scalable shape analysis for systems code. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 385–398. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  20. 20.
    Ishtiaq, S., O’Hearn, P.W.: BI as an assertion language for mutable data structures. In: Proceedings of the 28th POPL, pp. 14–26 (2001)Google Scholar
  21. 21.
    Lahiri, S.K., Qadeer, S.: Back to the future: revisiting precise program verification using SMT solvers. In: 35th POPL, pp. 171–182 (2008)Google Scholar
  22. 22.
    Luo, C., Craciun, F., Qin, S., He, G., Chin, W.-N.: Verifying pointer safety for programs with unknown calls. Journal of Symbolic Computation 45(11), 1163–1183 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Möller, A., Schwartzbach, M.I.: The pointer assertion logic engine. In: 22nd PLDI, pp. 221–231 (2001)Google Scholar
  24. 24.
    Paul, G.: Approaches to abductive reasoning: an overview. Artif. Intell. Rev. 7(2), 109–152 (1993)CrossRefGoogle Scholar
  25. 25.
    Peirce, C.S.: The collected papers of Charles Sanders Peirce. Harvard University Press, Cambridge (1958)Google Scholar
  26. 26.
    Sagiv, M., Reps, T., Wilhelm, R.: Solving shape-analysis problems in languages with destructive updating. ACM TOPLAS 20(1), 1–50 (1998)CrossRefGoogle Scholar
  27. 27.
    Yorsh, G., Rabinovich, A.M., Sagiv, M., Meyer, A., Bouajjani, A.: A logic of reachable patterns in linked data-structures. J. Log. Algebr. Program. 73(1-2), 111–142 (2007)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Nikos Gorogiannis
    • 1
  • Max Kanovich
    • 1
  • Peter W. O’Hearn
    • 1
  1. 1.Queen Mary University of LondonUK

Personalised recommendations