Complexity measures for object-oriented program based on the entropy
Kapsu Kim, Yeongil Shin, Chisu Wu · 2002
Software metrics are widely advocated as fundamental elements of an engineering approach to planning and controlling software development. They are especially important in object-oriented programming. We propose a new software complexity model which consists of class complexity, inter-object complexity, and the total complexity for the object-oriented program. We measure the complexities based on the entropy concept. The class complexity for a class measures the information flows in a class based on the information passing relationship among member data and member functions. The inter-object complexity for a program measures the information flows between objects. The total complexity for a program is measured by the class complexity and the inter-object complexity. We evaluate the proposed metrics using the complexity properties proposed by Weyuker (1988). Experimental results of C++ classes show the effectiveness of the proposed metrics. We assert that the class complexity and the inter-object complexity are correlated to other metrics for object-oriented concepts.