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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
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)
Calcagno, C., Gardner, P., Zarfaty, U.: Local reasoning about data update. Electron. Notes Theor. Comput. Sci. 172, 133–175 (2007)
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)
DeRoever, W., Engelhardt, K.: Data Refinement: Model-Oriented Proof Methods and Their Comparison. Cambridge University Press, Cambridge (1999)
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)
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
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)
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)
Hoare, C.A.R.: Proof of correctness of data representations. Acta Inf. 1(4), 271–281 (1972)
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)
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)
Parkinson, M., Bierman, G.: Separation logic and abstraction. In: POPL 2005. SIGPLAN Not., vol. 40, pp. 247–258. ACM, New York (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)