Abstract
Preliminary steps towards a theory, framework and process for proving that contract-equipped classes satisfy their contracts, including when the run-time structure involves pointers; and its application to correctness proofs of routines from a LINKED_LIST class, such as element removal and list reversal.
(also Eiffel Software, Santa Barbara, and Monash University)
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
Martín Abadi and Luca Cardelli: A Theory of Objects, Monographs in Computer Science, Springer-Verlag, 1996.
Jean-Raymond Abrial, The B Book, Cambridge University Press, 1995.
Ralph Back, X. Fan and Viorel Preoteasa: Reasoning about Pointers in Refinement Calculus, Technical Report, Turku Centre for Computer Science, Turku (Finland), 22 August 2002.
Richard Bornat: Proving Pointer Programs in Hoare Logic, in Mathematics of Program Construction, Springer-Verlag, 2000, pages 102–106.
ClearSy [name of company, no author listed]: Web documents on Atelier B, http://www.atelierb.societe.com, last consulted December 2002.
C.A.R. Hoare: Proof of Correctness of Data Representations, in Acta Informatica 1 (1972), pp. 271–281. Also in C.A.R. Hoare and C. B. Jones (ed.): Essays in Computing Science, Prentice Hall International, Hemel Hempstead (U.K.), 1989, pages 103–115.
C. A. R. Hoare. Procedures and parameters: An axiomatic approach. In E. Engeler, editor, Symposium on Semantics of Algorithmic Languages, volume 188 of Lecture Notes in Mathematics, pages 102–116. Springer-Verlag, 1971.
C.A.R. Hoare and He Jifeng: A Trace Model for Pointers, in ECOOP’ 99 — Object-Oriented Programming, Proceedings of 13th European Conference on Object-Oriented Programming, Lisbon, June 1999, ed. Rachid Guerraoui, Lecture Notes in Computer Science 1628, Springer-Verlag, pages 1–17.
Bertrand Meyer: Introduction to the Theory of Programming Languages, Prentice Hall, 1990.
Bertrand Meyer: Object-Oriented Software Construction, 2nd edition, Prentice Hall, 1997.
Bertrand Meyer, Christine Mingins and Heinz Schmidt: Providing Trusted Components to the Industry, in Computer (IEEE), vol. 31, no. 5, May 1998, pages 104–105.
Bertrand Meyer et al.: Trusted Components papers at se.inf.ethz.ch, last consulted December 2002.
Bertrand Meyer: Proving Pointer Program Properties, series of columns to appear in Journal of Object Technology, draft version available at http://www.inf.ethz.ch/~meyer/ongoing/references/, last consulted January 2003.
Bertrand Meyer: A Framework for Proving Contract-Equipped Classes, to appear in Abstract State Machines 2003 — Advances in Theory and Applications, Proc. 10th International Workshop, Taormina, Italy, March 3–7, 2003, eds. Egon Boerger, Angelo Gargantini, Elvinia Riccobene, Springer-Verlag 2003. Prepublication copy at http://www.inf.ethz.ch/~meyer/publications/, last consulted January 2003.
Bernhard Möller: Calculating with Pointer Structures, in Algorithmic Languages and Calculi, Proceedings of IFIP TC2/WG2.1 Working Conference, Le Bischenberg (France), February 1997, Chapman and Hall, 1997, pages 24–48.
Joseph M. Morris, A general axiom of assignment; Assignment and linked data structures; A proof of the Schorr-Waite algorithm. In Theoretical Foundations of Programming Methodology, Proceedings of the 1981 Marktoberdorf Summer School, eds. Manfred Broy and Gunther Schmidt, Reidel 1982, pages 25–51.
John C. Reynolds: Separation Logic: A Logic for Shared mutable Data Structures, in Proceedings of 17th Annual IEEE Symposium on Logic in Computer Science, Copenhagen, July 22–25 2002.
Norihisha Suzuki, Analysis of Pointer “Rotation”, in Communications of the ACM, vol. 25, no. 5, May 1982, pages 330–335.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Meyer, B. (2003). Towards Practical Proofs of Class Correctness. In: Bert, D., Bowen, J.P., King, S., Waldén, M. (eds) ZB 2003: Formal Specification and Development in Z and B. ZB 2003. Lecture Notes in Computer Science, vol 2651. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44880-2_22
Download citation
DOI: https://doi.org/10.1007/3-540-44880-2_22
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40253-4
Online ISBN: 978-3-540-44880-8
eBook Packages: Springer Book Archive