Title :
Mendel: A Model, Metrics, and Rules to Understand Class Hierarchies
Author :
Denier, Simon ; Gueheneuc, Yann-Gael
Author_Institution :
Univ. of Montreal, Montreal, QC
Abstract :
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. 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.
Keywords :
inheritance; object-oriented languages; object-oriented programming; software metrics; ArgoUML; Azureus; JHOTDraw approach; Log4J; Mendel; class-based object-oriented programs; class-based programming languages; object-oriented programs; Books; Computer languages; Electronic mail; Object oriented modeling; Object oriented programming; Performance analysis; Programming profession; Software engineering; Software quality; Taxonomy; class hierarchy; comprehension; inheritance; metrics; object oriented; reverse engineering;
Conference_Titel :
Program Comprehension, 2008. ICPC 2008. The 16th IEEE International Conference on
Conference_Location :
Amsterdam
Print_ISBN :
978-0-7695-3176-2
DOI :
10.1109/ICPC.2008.37