A Study of the Fragile Base Class Problem. Mikhajlov, L. & Sekerinski, E. In ECOOP'98 — 12th European Conference on Object-Oriented Programming, volume 1445, of Lecture Notes in Computer Science, pages 355–382, Brussels, Belgium, July, 1998. Springer-Verlag.
doi  abstract   bibtex   1 download  
In this paper we study the fragile base class problem. This problem occurs in open object-oriented systems employing code inheritance as an implementation reuse mechanism. System developers unaware of extensions to the system developed by its users may produce a seemingly acceptable revision of a base class which may damage its extensions. The fragile base class problem becomes apparent during maintenance of open object-oriented systems, but requires consideration during design. We express the fragile base class problem in terms of a flexibility property. By means of five orthogonal examples, violating the flexibility property, we demonstrate different aspects of the problem. We formulate requirements for disciplining inheritance, and extend the refinement calculus to accommodate for classes, objects, class-based inheritance, and class refinement. We formulate and formally prove a flexibility theorem demonstrating that the restrictions we impose on inheritance are sufficient to permit safe substitution of a base class with its revision in presence of extension classes.
@inproceedings{MikhajlovSekerinski98FragileBaseClassProblem,
	address = {Brussels, Belgium},
	series = {Lecture {Notes} in {Computer} {Science}},
	title = {A {Study} of the {Fragile} {Base} {Class} {Problem}},
	volume = {1445},
	doi = {10.1007/BFb0054099},
	abstract = {In this paper we study the fragile base class problem. This problem occurs in open object-oriented systems employing code inheritance as an implementation reuse mechanism. System developers unaware of extensions to the system developed by its users may produce a seemingly acceptable revision of a base class which may damage its extensions. The fragile base class problem becomes apparent during maintenance of open object-oriented systems, but requires consideration during design. We express the fragile base class problem in terms of a flexibility property. By means of five orthogonal examples, violating the flexibility property, we demonstrate different aspects of the problem. We formulate requirements for disciplining inheritance, and extend the refinement calculus to accommodate for classes, objects, class-based inheritance, and class refinement. We formulate and formally prove a flexibility theorem demonstrating that the restrictions we impose on inheritance are sufficient to permit safe substitution of a base class with its revision in presence of extension classes.},
	booktitle = {{ECOOP}'98 — 12th {European} {Conference} on {Object}-{Oriented} {Programming}},
	publisher = {Springer-Verlag},
	author = {Mikhajlov, Leonid and Sekerinski, Emil},
	editor = {Jul, Eric},
	month = jul,
	year = {1998},
	pages = {355--382},
}

Downloads: 1