740f02measure17 1 An Evaluation of the MOOD Set of Object-Oriented Software Metrics Harrison, Counsell and Nithi IEEE Trans on Soft Eng June 1998
740f02measure17 2 Criteria for Valid Metrics u 1. Must allow different entities to be distinguished u 2. Must obey representation condition u 3. Each unit of attribute contributing to a valid metric is equivalent u 4. Different entities can have the same attribute value
740f02measure17 3 types of measurement u direct –does not depend on other measures u indirect –involves one or more other measures –e.g. density
740f02measure17 4 Indirect metrics u 1. Explicitly defined model u 2. Model must be dimensionally consistent u 3. No unexpected discontinuities u 4. Units and scale types must be correct
740f02measure17 5 MHF definition u Summation over all methods in all classes of 1 minus the V(M) divided by the total number of methods
740f02measure17 6 Model for MHF? u What would be a good abstraction? u Is there a well-understood Empirical Relationship? u Scale Type?
740f02measure17 7 Validation – MHF/AHF u 1. Must allow different entities to be distinguished u 2. Must obey representation condition u 3. Each unit of attribute contributing to a valid metric is equivalent u 4. Different entities can have the same attribute value
740f02measure17 8 Indirect Validation – MHF/AHF u 1. Explicitly defined model u 2. Model must be dimensionally consistent u 3. No unexpected discontinuities u 4. Units and scale types must be correct
740f02measure17 9 Inheritance Factor M d (C i ) = number of methods declared in a class i M i (C i ) = number of methods inherited (and not overridden) in a class i M a (C i ) = M d (C i ) + M i (C i ) = number of methods that can be invoked in association with class i
740f02measure17 10 Model for MIF? u What would be a good abstraction? u Is there a well-understood Empirical Relationship? u Scale Type?
740f02measure17 11 Validation – MIF/AIF u 1. Must allow different entities to be distinguished u 2. Must obey representation condition u 3. Each unit of attribute contributing to a valid metric is equivalent u 4. Different entities can have the same attribute value
740f02measure17 12 Indirect Validation – MIF/AIF u 1. Explicitly defined model u 2. Model must be dimensionally consistent u 3. No unexpected discontinuities u 4. Units and scale types must be correct
740f02measure17 13 Coupling Factor
740f02measure17 14 Model for CF? u What would be a good abstraction? u Is there a well-understood Empirical Relationship? u Scale Type?
740f02measure17 15 Validation – CF u 1. Must allow different entities to be distinguished u 2. Must obey representation condition u 3. Each unit of attribute contributing to a valid metric is equivalent u 4. Different entities can have the same attribute value
740f02measure17 16 Indirect Validation - CF u 1. Explicitly defined model u 2. Model must be dimensionally consistent u 3. No unexpected discontinuities u 4. Units and scale types must be correct
740f02measure17 17 Polymorphism Factor Let M o (C i ) be the number of overriding methods in class i. Let M n (C i ) be the number of new methods in class i. Let DC(C i ) be the number of descendants of class i.
740f02measure17 18 Model for PF? u What would be a good abstraction? u Is there a well-understood Empirical Relationship? u Scale Type?
740f02measure17 19 Validation – PF u 1. Must allow different entities to be distinguished u 2. Must obey representation condition u 3. Each unit of attribute contributing to a valid metric is equivalent u 4. Different entities can have the same attribute value
740f02measure17 20 Indirect Validation - PF u 1. Explicitly defined model u 2. Model must be dimensionally consistent u 3. No unexpected discontinuities u 4. Units and scale types must be correct