Strengthen and Support the Maintenance of Object-Oriented Software
AbstractInheritance is one of the most common features of object oriented languages, and has been widely applied to develop large and complex software system. However, designing a suitable inheritance hierarchy, involving redundant inheritance, is a difficult task and easily suffers from name-confliction and repeated inheritance which are error-prone and difficult to test. In this paper, we explain how redundant inheritance makes object-oriented programs difficult to test and maintain, and we give a concrete example of the problems that arise. We show that the difficulty lies in the fact that we lack an effective detection tool suited for work with inheritance problems. Therefore, a formal checking mechanism is proposed to detect and resolve redundant inheritance. Furthermore, this checking mechanism can be easily incorporated with object-oriented CASE tool to enhance software quality.
Copyright (c) 1969 Ming-Chi Lee, Timothy Shih, Teh-Sheng Huang
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
AJIS publishes open-access articles distributed under the terms of a Creative Commons Non-Commercial and Attribution License which permits non-commercial use, distribution, and reproduction in any medium, provided the original author and AJIS are credited. All other rights including granting permissions beyond those in the above license remain the property of the author(s).