Homepage>Publikationen>PublikationsDetail

Preserving the Correctness of Object-Oriented Programs under Extension

In: Berghammer, R. and Simon, F.ed., Programming Languages and Fundamentals of Programming. Technical Report, volume 9717, Christian-Albrechts-Universität Kiel, Available, 1997

Authors

  • Peter Müller
  • Arnd Poetzsch-Heffter

Abstract

In object-oriented programming, software is mainly constructed by composition and specialization of types. Due to dynamic binding, program correctness may be invalidated by adding new types to existing programs. Essentially, two problems can occur: 1. Adding a new subtype S may violate the specification of its supertype T; thus components using T may be invalidated. 2. In certain cases, type invariants can be violated by adding new types to existing components. This paper sketches solutions to these problems. It claims that behavioral subtyping is a solution to the first problem. As a possible solution to the second problem, it proposes techniques to make interface specifications more expressive, to restrict the form of invariants by semantical constraints (similar to behavioral subtyping), and to refine existing module concepts.

Full Text

BibTeX

@InProceedings{Mueller.Poetzsch-Heffter97preserving, 
   author = {Peter Müller and Arnd Poetzsch-Heffter}
   title = {Preserving the Correctness of Object-Oriented Programs under Extension},
   booktitle = {Programming Languages and Fundamentals of Programming},
   series = {Technical Report},
   institution = {Christian-Albrechts-Universität Kiel},
   note = {Available},
   year = {1997},
}