loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Sixth International Workshop on Principles of Software Evolution (IWPSE'03)
Class Refinement for Software Evolution
Helsinki, Finland
September 01-September 02
ISBN: 0-7695-1903-2
Hiroyuki Ozaki, Japan Advanced Institute of Science and Technology
Katsuhiko Gondow, Japan Advanced Institute of Science and Technology
Takuya Katayama, Japan Advanced Institute of Science and Technology
In this paper, we have proposed a theoretical framework for introducing class refinement which is considered to play an important role in evolutionary prototyping in object-oriented languages. Class inheritance is extensively used in OO languages in evolving software by introducing new functions in the class and redefining them. In the redefinition, methods are overridden by their new definitions in its subclasses. However, overriding methods sometimes causes unpredicted effects on the classes, which is known as ?fragile base class problem?. This anomaly has effects on evolving programs as it makes understanding the programs harder. Here, we propose to prohibit method redefinition and, instead, to introduce function refinement, which is based on abstract interpretation. In this refinement, we start with an abstract data domain and methods operating on them. The data domain and methods are refined and become concrete in the course of evolution of programs. In this paper, we mainly focus on the formalism for class refinement.
Citation:
Hiroyuki Ozaki, Katsuhiko Gondow, Takuya Katayama, "Class Refinement for Software Evolution," iwpse, pp.51, Sixth International Workshop on Principles of Software Evolution (IWPSE'03), 2003
Usage of this product signifies your acceptance of the Terms of Use.