Skip to main content

A Graph-Based Implementation for Mechanized Refinement Calculus of OO Programs

  • Conference paper
Book cover Formal Methods: Foundations and Applications (SBMF 2010)

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

Included in the following conference series:

Abstract

This paper extends the mechanization of the refinement calculus done by von Wright in HOL, representing the state of a program as a graph instead of a tuple, in order to deal with object-orientation. The state graph structure is implemented in Isabelle, together with definitions and lemmas, to help the manipulation of states. We then show how proof obligations are automatically generated from the rCOS tool and can be loaded in Isabelle to be proved. We illustrate our approach by generating the proof obligations for a simple example, including object access and method invocation.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Back, R.-J.: On the Correctness of Refinement Steps in Program Development. PhD thesis, Helsinki, Finland, Report A–1978–4 (1978)

    Google Scholar 

  2. Back, R.-J., Fan, X., Preoteasa, V.: Reasoning about pointers in refinement calculus. Technical Report 543, TUCS - Turku Centre for Computer Science, Turku, Finland (July 2003)

    Google Scholar 

  3. Carrington, D., Hayes, I., Nickson, R., Watson, G., Welsh, J.: A tool for developing correct programs by refinement. In: Proc. BCS 7th Refinement Workshop. Springer, Heidelberg (1996)

    Google Scholar 

  4. Cavalcanti, A., Naumann, D.A.: A weakest precondition semantics for refinement of object-oriented programs. IEEE Transactions on Software Engineering 26, 713–728 (2000)

    Article  Google Scholar 

  5. Chen, Z., Liu, Z., Ravn, A.P., Stolz, V., Zhan, N.: Refinement and verification in component-based model driven design. Science of Computer Programming 74(4), 168–196 (2009); UNU-IIST TR 388

    Article  MathSciNet  MATH  Google Scholar 

  6. Chen, Z., Liu, Z., Stolz, V.: The rCOS tool. In: Modelling and Analysis in VDM: Proceedings of the Fourth VDM/Overture Workshop, number CS-TR-1099 in Technical Report Series. Newcastle University (May 2008)

    Google Scholar 

  7. Chen, Z., Morisset, C., Stolz, V.: Specification and validation of behavioural protocols in the rCOS modeler. In: Arbab, F., Sirjani, M. (eds.) FSEN 2009. LNCS, vol. 5961, pp. 387–401. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  8. Depasse, C.: Constructing Isabelle proofs in a proof refinement calculus. Research Report, UCL (2001)

    Google Scholar 

  9. Filliâtre, J.-C.: Why: a multi-language multi-prover verification tool. Research Report 1366, LRI, Université Paris Sud (2003)

    Google Scholar 

  10. He, J., Liu, Z., Li, X.: rCOS: A refinement calculus of object systems. Theor. Comput. Sci. 365(1-2), 109–142 (2006); UNU-IIST TR 322

    Article  MathSciNet  MATH  Google Scholar 

  11. Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)

    MATH  Google Scholar 

  12. Ke, W., Liu, Z., Wang, S., Zhao, L.: A graph-based operational semantics of oo programs. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 347–366. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  13. Klein, G., Nipkow, T.: A machine-checked model for a Java-like language, virtual machine, and compiler. ACM Trans. Program. Lang. Syst. 28(4), 619–695 (2006)

    Article  Google Scholar 

  14. Laibinis, L.: Mechanised Formal Reasoning About Modular Programs. PhD thesis, Abo Akademi (2000)

    Google Scholar 

  15. Lei, B., Liu, Z., Morisset, C., Li, X.: State based robustness testing for components. In: FACS 2008. ENTCS, vol. 260, pp. 173–188. Elsevier, Amsterdam (2008)

    Google Scholar 

  16. Liu, Z., Morisset, C., Stolz, V.: rCOS: theory and tools for component-based model driven development. In: Arbab, F., Sirjani, M. (eds.) FSEN 2009. LNCS, vol. 5961, pp. 62–80. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  17. Morgan, C.: Programming from specifications, 2nd edn. Prentice Hall International, Englewood Cliffs (1994)

    MATH  Google Scholar 

  18. Paige, R., Ostroff, J., Brooke, P.: Formalising eiffel references and expanded types in pvs. In: Proc. International Workshop on Aliasing, Confinement, and Ownership in Object-Oriented Programming (2003)

    Google Scholar 

  19. Paige, R.F., Ostroff, J.S.: ERC – An object-oriented refinement calculus for Eiffel. Form. Asp. Comput. 16(1), 51–79 (2004)

    Article  MATH  Google Scholar 

  20. Sekerinski, E.: A type-theoretic basis for an object-oriented refinement calculus. In: Formal Methods and Object Technology. Springer, Heidelberg (1996)

    Google Scholar 

  21. Stolz, V.: An integrated multi-view model evolution framework. Innovations in Systems and Software Engineering (2009)

    Google Scholar 

  22. Utting, M.: An object-oriented refinement calculus with modular reasoning (1992)

    Google Scholar 

  23. van den Berg, J., Jacobs, B.: The loop compiler for java and jml. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 299–312. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  24. von Wright, J.: Program refinement by theorem prover. In: BCS FACS Sixth Refinement Workshop – Theory and Practise of Formal Software Development. Springer, Heidelberg (1994)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Liu, Z., Morisset, C., Wang, S. (2011). A Graph-Based Implementation for Mechanized Refinement Calculus of OO Programs. In: Davies, J., Silva, L., Simao, A. (eds) Formal Methods: Foundations and Applications. SBMF 2010. Lecture Notes in Computer Science, vol 6527. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19829-8_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-19829-8_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-19828-1

  • Online ISBN: 978-3-642-19829-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics