Title :
On the interaction of programming by contract and Liskov substitution principle
Author_Institution :
Dept. of Comput. Sci., Amman Univ., Jordan
Abstract :
Both the Liskov substitution principle (LSP) and Meyer programming by contract (MPG) are powerful and useful mechanisms to ensure semantic compatibility of subclasses with superclasses. When applied, they lead to more correct inheritance hierarchies that are easy to understand and extend. However, the interaction between these tools might lead to contradictions and might prevent legitimate inheritance hierarchies. We show that some real-world class derivations may violate LSP and MPC principles. We discuss the interaction between LSP and MPC mechanisms and other inheritance constructs. The article tries to answer the question whether or not LSP and MPC are adequate tools to guarantee good class hierarchies
Keywords :
inheritance; Liskov substitution principle; Meyer programming by contract; class hierarchies; inheritance hierarchies; semantic compatibility; subclasses; superclasses; Computer science; Contracts; Guidelines; Permission; Programming profession; Subcontracting;
Conference_Titel :
Computer Systems and Applications, ACS/IEEE International Conference on. 2001
Conference_Location :
Beirut
Print_ISBN :
0-7695-1165-1
DOI :
10.1109/AICCSA.2001.934030