Skip to main content

Abstraction and Refinement for Local Reasoning

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6217))

Abstract

Local reasoning has become a well-established technique in program verification, which has been shown to be useful at many different levels of abstraction. In separation logic, we use a low-level abstraction that is close to how the machine sees the program state. In context logic, we work with high-level abstractions that are close to how the clients of modules see the program state.We apply program refinement to local reasoning, demonstrating that high-level local reasoning is sound for module implementations.We consider two approaches: one that preserves the high-level locality at the low level; and one that breaks the high-level ’fiction’ of locality.

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

Buying options

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 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bornat, R., Calcagno, C., Yang, H.: Variables as resource in separation logic. In: Proceedings of MFPS XXI. ENTCS, vol. 155, pp. 247–276. Elsevier, Amsterdam (2006)

    Google Scholar 

  2. Calcagno, C., Gardner, P., Zarfaty, U.: Context logic and tree update. In: POPL 2005. SIGPLAN Not., vol. 40, pp. 271–282. ACM, New York (2005)

    Chapter  Google Scholar 

  3. Calcagno, C., Gardner, P., Zarfaty, U.: Local reasoning about data update. Electron. Notes Theor. Comput. Sci. 172, 133–175 (2007)

    Article  MathSciNet  Google Scholar 

  4. Calcagno, C., O’Hearn, P.W., Yang, H.: Local action and abstract separation logic. In: LICS 2007, Washington, DC, USA, pp. 366–378. IEEE Computer Society, Los Alamitos (2007)

    Google Scholar 

  5. DeRoever, W., Engelhardt, K.: Data Refinement: Model-Oriented Proof Methods and Their Comparison. Cambridge University Press, Cambridge (1999)

    Google Scholar 

  6. Dinsdale-Young, T., Dodds, M., Gardner, P., Parkinson, M., Vafeiadis, V.: Concurrent abstract predicates. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 504–528. Springer, Heidelberg (2010)

    Google Scholar 

  7. Dinsdale-Young, T., Gardner, P., Wheelhouse, M.: Abstract local reasoning. Technical report, Imperial College London, London, UK (2010), http://www.doc.ic.ac.uk/~td202/papers/alrfull.pdf

  8. Gardner, P.A., Smith, G.D., Wheelhouse, M.J., Zarfaty, U.D.: Local Hoare reasoning about DOM. In: PODS 2008, pp. 261–270. ACM, New York (2008)

    Chapter  Google Scholar 

  9. He, J., Hoare, C.A.R., Sanders, J.W.: Data refinement refined. In: Robinet, B., Wilhelm, R. (eds.) ESOP 1986. LNCS, vol. 213, pp. 187–196. Springer, Heidelberg (1986)

    Google Scholar 

  10. Hoare, C.A.R.: Proof of correctness of data representations. Acta Inf. 1(4), 271–281 (1972)

    Article  MATH  Google Scholar 

  11. Mijajlović, I., Torp-Smith, N., O’Hearn, P.W.: Refinement and separation contexts. In: Lodaya, K., Mahajan, M. (eds.) FSTTCS 2004. LNCS, vol. 3328, pp. 421–433. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  12. O’Hearn, P.W., Reynolds, J., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001 and EACSL 2001. LNCS, vol. 2142, pp. 1–19. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  13. Parkinson, M., Bierman, G.: Separation logic and abstraction. In: POPL 2005. SIGPLAN Not., vol. 40, pp. 247–258. ACM, New York (2005)

    Chapter  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

Dinsdale-Young, T., Gardner, P., Wheelhouse, M. (2010). Abstraction and Refinement for Local Reasoning. In: Leavens, G.T., O’Hearn, P., Rajamani, S.K. (eds) Verified Software: Theories, Tools, Experiments. VSTTE 2010. Lecture Notes in Computer Science, vol 6217. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15057-9_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-15057-9_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-15056-2

  • Online ISBN: 978-3-642-15057-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics