Mendel: A Model, Metrics, and Rules to Understand Class Hierarchies

S. Denier, Y.-G. Gueheneuc
2008 2008 16th IEEE International Conference on Program Comprehension  
Inheritance is an important mechanism when developing object-oriented programs with class-based programming languages: it enables subtyping, polymorphism, and code reuse. Inheritance is also known as a difficult feature to grasp and to use correctly because of its many purposes. We propose a model of inheritance to help understand class hierarchies of class-based object-oriented programs. We define metrics and rules to highlight interesting classes and behaviours with respect to inheritance.
more » ... to inheritance. Thus, we provide the programmer with insight on how inheritance is used in a program. We illustrate our approach on JHotDraw and validate it further on three other programs: ArgoUML, Azureus, and Log4J. We also show that our model can describe existing rules, such as micro patterns.
doi:10.1109/icpc.2008.37 dblp:conf/iwpc/DenierG08 fatcat:vn767fmyujetlmjn7eg5z2m2k4