Skip to main content

Incremental Reasoning for Object Oriented Systems

  • Chapter
From Object-Orientation to Formal Methods

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

Abstract

Inheritance and polymorphism are key mechanisms of the object-oriented approach that enable designers to develop systems in an incremental manner. In this paper, we develop techniques for reasoning incrementally about the behavior of such systems. A derived class designer will be able, using the proposed approach, to arrive at the richer behavior that polymorphic methods inherited from the base class will exhibit in the derived class, without reanalyzing the code bodies of these methods. The approach is illustrated by applying it to a simple case study.

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. Abadi, M., Leino, K.: A logic of oo programs. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 682–696. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  2. America, P.: Designing an object oriented programming language with behavioral subtyping. In: de Bakker, J.W., Rozenberg, G., de Roever, W.-P. (eds.) REX 1990. LNCS, vol. 489, pp. 69–90. Springer, Heidelberg (1991)

    Google Scholar 

  3. Buchi, M., Weck, W.: The greybox approach: when blackbox specifications hide too much. Technical Report TUCS TR No. 297, Turku Centre for Computer Science (1999), available at http://www.tucs.abo.fi/

  4. Cardelli, L., Wegner, P.: On understanding types, data abstraction, and polymorphism. ACM Computing Surveys (1985)

    Google Scholar 

  5. Dahl, O.J.: Verifiable Programming. Prentice-Hall, Englewood Cliffs (1992)

    MATH  Google Scholar 

  6. Dhara, K.K., Leavens, G.T.: Weak behavioral subtyping for types with mutable objects. In: Brookes, S., Main, M., Melton, A., Mislove, M. (eds.) Proc. of 11th Annual Conf. on Math. Found. of Programming. Elec Notes in Theoretical Computer Sc., pp. 269–290. Elsevier, Amsterdam (1995)

    Google Scholar 

  7. Dhara, K.K., Leavens, G.T.: Forcing behavioral subtyping through specification inheritance. In: Proc. of 18th Int. Conf. on Softw. Eng., pp. 258–267. IEEE Computer Soc., Los Alamitos (1996)

    Chapter  Google Scholar 

  8. Dahl, O.-J., Myhrhaug, B., Nygaard, K.: Simula 67 common base language. Technical Report S-2, Norwegian Computing Center, Oslo (1968)

    Google Scholar 

  9. Dahl, O.J., Nygaard, K.: Simula - an algol-based simulation language. Communications of the ACM 9(9), 671–678 (1966)

    Article  MATH  Google Scholar 

  10. Edwards, S.: Representation inheritance: A safe form of ‘white box’ code inheritance. IEEE TSE 23, 83–92 (1997)

    Google Scholar 

  11. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable OO Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  12. Garlan, D., Jha, S., Notkin, D., Dingel, J.: Reasoning about implicit invocation. In: Proceedings of Foundations of Software Engineering (FSE- 6), pp. 209–221. ACM Press, New York (1998)

    Google Scholar 

  13. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  14. Jones, C.: Systematic Software Development Using VDM. Prentice-Hall, Englewood Cliffs (1990)

    MATH  Google Scholar 

  15. Keidar, I., Khazan, R., Lynch, N., Shvartsman, A.: Inheritance-based technique for building simulation proofs incrementally. In: Harrold, M. (ed.) 22nd Int. Conf. of Software Eng., pp. 478–487. ACM, New York (2000)

    Google Scholar 

  16. Kiczales, G., Lamping, J.: Issues in the design and specification of class libraries. In: OOPSLA 1992, pp. 435–451 (1992)

    Google Scholar 

  17. Lamping, J.: Typing the specialization interface. In: OOPSLA, pp. 201–214 (1993)

    Google Scholar 

  18. Liskov, B., Wing, J.: A new definition of the subtype relation. In: Nierstrasz, O. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 118–141. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  19. Liskov, B., Wing, J.: A behavioral notion of subtyping. ACM Trans. on Prog. Lang. and Systems 16, 1811–1841 (1994)

    Article  Google Scholar 

  20. Misra, J., Chandy, K.: Proofs of networks of processes. IEEE Trans. on Software Eng. 7, 417–426 (1981)

    Article  MathSciNet  Google Scholar 

  21. Meyer, B.: Object-Oriented Software Construction. Prentice Hall, Englewood Cliffs (1997)

    MATH  Google Scholar 

  22. Matsuoka, S., Yonezawa, A.: Analysis of inheritance anomaly in oo concurrent languages. In: Agha, Wegner, Yonezawa (eds.) Research directions in concurrent OO programming, pp. 107–150. MIT Press, Cambridge (1993)

    Google Scholar 

  23. Owicki, S., Gries, D.: An axiomatic proof technique for parallel programs. Acta Informatica 6(1), 319–340 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  24. Sakkinen, M.: Disciplined inheritance. In: Cook, S. (ed.) Proceedings of ECOOP 1989. British Computer Workshop Series, pp. 39–56 (1989)

    Google Scholar 

  25. Soundarajan, N., Dahl, O.-J.: Partial correctness semantics of CSP. Technical Report 66, Institute of Informatics, Oslo University (1982)

    Google Scholar 

  26. Stata, R., Guttag, J.V.: Modular reasoning in the presence of subclassing. In: OOPSLA, pp. 200–214. ACM Press, New York (1995)

    Google Scholar 

  27. Warmer, J., Kleppe, A.: The Object Constraint Langauge. Addison- Wesley, Reading (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Soundarajan, N., Fridella, S. (2004). Incremental Reasoning for Object Oriented Systems. In: Owe, O., Krogdahl, S., Lyche, T. (eds) From Object-Orientation to Formal Methods. Lecture Notes in Computer Science, vol 2635. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39993-3_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39993-3_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21366-6

  • Online ISBN: 978-3-540-39993-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics