Skip to main content

A Framework for Proving Contract-Equipped Classes

  • Conference paper
  • First Online:
Abstract State Machines 2003 (ASM 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2589))

Included in the following conference series:

Abstract

As part of a general effort to provide a new basis for software development through reuse of “Trusted Components”, we outline a scheme for proving that classes equipped with contracts in the Eiffel style meet these contracts. The approach takes advantage of the inheritance structure to separate proof obligations between deferred (abstract) classes, to be validated against a model, and their effective implementations, which then must only be proved against the contracts of the deferred ancestors. The testbed for this study is the EiffelBase library of fundamental data structures and algorithms, whose classes include extensive contracts.

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. Jean-Raymond Abrial: The B Book, Cambridge University Press, 2002

    Google Scholar 

  2. Felix Bachmann, Len Bass, Charles Buhman, Santiago Comella-Dorda, Fred Long, John Robert, Robert Seacord, Kurt Wallnau: Technical Concepts of Component-Based Software Engineering, Software Engineering Institute CMU/SEI-2000-TR-008, 2000, available at http://www.sei.cmu.edu/publications/documents/00.reports/00tr008.html.

  3. Bertrand Meyer, Reusability: the Case for Object-Oriented Design, in IEEE Software, vol. 4 no. 2, March 1987, pages 50–62. Also in: Selected Reprints in Software, ed. M. Zelkowitz, IEEE Press, 1987; Software Reusability, ed. T. Biggerstaff, Addison-Wesley, 1988; Object-Oriented Computing, IEEE Press, 1988.

    Article  Google Scholar 

  4. Bertrand Meyer: Applying “Design by Contract”, in IEEE Computer, 2510, October 1992, pages 40. Also in Object-Oriented Systems and Applications, ed. David Rine, IEEE Computer Press, 1994.

    Google Scholar 

  5. Bertrand Meyer: Eiffel: The Language, Prentice Hall, second printing, 1991.

    Google Scholar 

  6. Bertrand Meyer: Reusable Software: The Base Object-Oriented Libraries, Prentice Hall, 1994.

    Google Scholar 

  7. Bertrand Meyer: Object-Oriented Software Construction, second edition, Prentice Hall, 1997.

    Google Scholar 

  8. Bertrand Meyer, Christine Mingins and Heinz Schmidt: Providing Trusted Components to the Industry, in IEEE Computer, vol. 31 no. 5, May 1998, pages 104–105.

    Google Scholar 

  9. Bertrand Meyer: Contracts for Components, in Software Development, vol. 8 no. 7, July 2000, pages 51–53.

    Google Scholar 

  10. Bertrand Meyer: Towards a Component Quality Model, working paper at http://www.inf.ethz.ch/~meyer.

  11. Bertrand Meyer: Proving Program Pointer Properties, working paper at http://www.inf.ethz.ch/~meyer.

  12. Robert F. Stärk, Egon Borger and Joachim Schmid: Java and the Java Virtual Machine: Definition, Verification, Validation, Springer-Verlag, 2001.

    Google Scholar 

  13. Clemens Szyperski: Component Software: Beyond Object Oriented Programming. Addison-Wesley, 1998.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Meyer, B. (2003). A Framework for Proving Contract-Equipped Classes. In: Börger, E., Gargantini, A., Riccobene, E. (eds) Abstract State Machines 2003. ASM 2003. Lecture Notes in Computer Science, vol 2589. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36498-6_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-36498-6_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00624-4

  • Online ISBN: 978-3-540-36498-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics