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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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/
Cardelli, L., Wegner, P.: On understanding types, data abstraction, and polymorphism. ACM Computing Surveys (1985)
Dahl, O.J.: Verifiable Programming. Prentice-Hall, Englewood Cliffs (1992)
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)
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)
Dahl, O.-J., Myhrhaug, B., Nygaard, K.: Simula 67 common base language. Technical Report S-2, Norwegian Computing Center, Oslo (1968)
Dahl, O.J., Nygaard, K.: Simula - an algol-based simulation language. Communications of the ACM 9(9), 671–678 (1966)
Edwards, S.: Representation inheritance: A safe form of ‘white box’ code inheritance. IEEE TSE 23, 83–92 (1997)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable OO Software. Addison-Wesley, Reading (1995)
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)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
Jones, C.: Systematic Software Development Using VDM. Prentice-Hall, Englewood Cliffs (1990)
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)
Kiczales, G., Lamping, J.: Issues in the design and specification of class libraries. In: OOPSLA 1992, pp. 435–451 (1992)
Lamping, J.: Typing the specialization interface. In: OOPSLA, pp. 201–214 (1993)
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)
Liskov, B., Wing, J.: A behavioral notion of subtyping. ACM Trans. on Prog. Lang. and Systems 16, 1811–1841 (1994)
Misra, J., Chandy, K.: Proofs of networks of processes. IEEE Trans. on Software Eng. 7, 417–426 (1981)
Meyer, B.: Object-Oriented Software Construction. Prentice Hall, Englewood Cliffs (1997)
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)
Owicki, S., Gries, D.: An axiomatic proof technique for parallel programs. Acta Informatica 6(1), 319–340 (1976)
Sakkinen, M.: Disciplined inheritance. In: Cook, S. (ed.) Proceedings of ECOOP 1989. British Computer Workshop Series, pp. 39–56 (1989)
Soundarajan, N., Dahl, O.-J.: Partial correctness semantics of CSP. Technical Report 66, Institute of Informatics, Oslo University (1982)
Stata, R., Guttag, J.V.: Modular reasoning in the presence of subclassing. In: OOPSLA, pp. 200–214. ACM Press, New York (1995)
Warmer, J., Kleppe, A.: The Object Constraint Langauge. Addison- Wesley, Reading (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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