A Formal Approach to Building a Polymorphism Metric in Object-Oriented Systems

Although quality is not easy to evaluate since it is a complex concept compound by different aspects, several properties that make a good object-oriented design have been recognized and widely accepted by the software engineering community. We agree that both the traditional and the new object-oriented properties should be analyzed in assessing the quality of object-oriented design. However, we believe that it is necessary to pay special attention to the polymorphism concept and metric, since they should be considered one of the key concerns in determining the quality of an object-oriented system. In this paper, we have given a rigorous definition of polymorphism. On top of this formalization we propose a metric that provides an objective and precise mechanism to detect and quantify dynamic polymorphism. The metric takes information coming from the first stages of the development process giving developers the opportunity to early evaluate and improve the quality of the software product. Finally, a first approach to the theoretical validation of the metric is presented.

[1]  Letha H. Etzkorn,et al.  An Entropy-Based Complexity Measure for Object-Oriented Designs , 1999, Theory Pract. Object Syst..

[2]  Claudia Pons,et al.  Foundations of Object-Oriented Modeling Notation in a Dynamic Logic Framework , 1998, FMLDO.

[3]  J.-Y. Chen,et al.  A new metric for object-oriented design , 1993, Inf. Softw. Technol..

[4]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[5]  Premkumar T. Devanbu,et al.  An Investigation into Coupling Measures for C++ , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[6]  David P. Tegarden,et al.  Effectiveness of traditional software metrics for object-oriented systems , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[7]  Ivan Moore,et al.  Automatic inheritance hierarchy restructuring and method refactoring , 1996, OOPSLA '96.

[8]  Shari Lawrence Pfleeger,et al.  Towards a Framework for Software Measurement Validation , 1995, IEEE Trans. Software Eng..

[9]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[10]  Walcélio L. Melo,et al.  Polymorphism measures for early risk prediction , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[11]  Fernando Brito e Abreu,et al.  Object-Oriented Software Engineering: Measuring and Controlling the Development Process , 1994 .

[12]  Norman Wilde,et al.  Maintenance Support for Object-Oriented Programs , 1992, IEEE Trans. Software Eng..

[13]  Shinji Kusumoto,et al.  Analysis of metrics for object-oriented program complexity , 1994, Proceedings Eighteenth Annual International Computer Software and Applications Conference (COMPSAC 94).

[14]  Letha H. Etzkorn,et al.  A Class Cohesion Metric For Object-Oriented Designs , 1999, J. Object Oriented Program..

[15]  Roelf J. Wieringa,et al.  A Minimal Transition System Semantics for Lightweight Class and Behavior Diagrams , 1998 .

[16]  Gustavo Rossi,et al.  Toward metrics and model validation in web-site QEM , 2000 .

[17]  Horst Zuse,et al.  A Framework of Software Measurement , 1998 .