740f02measure17 1 an evaluation of the mood set of object-oriented software metrics harrison,...
TRANSCRIPT
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
1. Must allow different entities to be distinguished
2. Must obey representation condition 3. Each unit of attribute contributing to a
valid metric is equivalent 4. Different entities can have the same
attribute value
740f02measure17 3
types of measurement
direct– does not depend on other measures
indirect– involves one or more other measures– e.g. density
740f02measure17 4
Indirect metrics
1. Explicitly defined model 2. Model must be dimensionally consistent 3. No unexpected discontinuities 4. Units and scale types must be correct
740f02measure17 5
MHF definition
Summation over all methods in all classes of 1 minus the V(M) divided by the total number of methods
TC
iid
TC
i
CM
mim
CM
MVMHF
id
1
11
,(1
740f02measure17 6
Model for MHF?
What would be a good abstraction?
Is there a well-understood Empirical Relationship?
Scale Type?
740f02measure17 7
Validation – MHF/AHF
1. Must allow different entities to be distinguished
2. Must obey representation condition 3. Each unit of attribute contributing to a
valid metric is equivalent 4. Different entities can have the same
attribute value
740f02measure17 8
Indirect Validation – MHF/AHF
1. Explicitly defined model
2. Model must be dimensionally consistent
3. No unexpected discontinuities 4. Units and scale types must be correct
740f02measure17 9
Inheritance Factor
Md(Ci) = number of methods declared in a class i
Mi(Ci) = number of methods inherited (and not overridden)
in a class iMa(Ci) = Md(Ci) + Mi(C i) = number of methods that can
be invoked in association with class i
TC
i ia
TC
i ii
CM
CMMIF
1
1
740f02measure17 10
Model for MIF?
What would be a good abstraction?
Is there a well-understood Empirical Relationship?
Scale Type?
740f02measure17 11
Validation – MIF/AIF
1. Must allow different entities to be distinguished
2. Must obey representation condition 3. Each unit of attribute contributing to a
valid metric is equivalent 4. Different entities can have the same
attribute value
740f02measure17 12
Indirect Validation – MIF/AIF
1. Explicitly defined model
2. Model must be dimensionally consistent
3. No unexpected discontinuities 4. Units and scale types must be correct
740f02measure17 13
Coupling Factor
TCTC
ccclientisCF
TC
i
TC
j ji
2
1 1),(_
740f02measure17 14
Model for CF?
What would be a good abstraction?
Is there a well-understood Empirical Relationship?
Scale Type?
740f02measure17 15
Validation – CF
1. Must allow different entities to be distinguished
2. Must obey representation condition 3. Each unit of attribute contributing to a
valid metric is equivalent 4. Different entities can have the same
attribute value
740f02measure17 16
Indirect Validation - CF
1. Explicitly defined model
2. Model must be dimensionally consistent
3. No unexpected discontinuities 4. Units and scale types must be correct
740f02measure17 17
Polymorphism FactorLet Mo(Ci) be the number of overriding methods in class i.
Let Mn(Ci) be the number of new methods in class i.
Let DC(Ci) be the number of descendants of class i.
TC
i iin
TC
i io
CDCCM
CMPF
1
1
740f02measure17 18
Model for PF?
What would be a good abstraction?
Is there a well-understood Empirical Relationship?
Scale Type?
740f02measure17 19
Validation – PF
1. Must allow different entities to be distinguished
2. Must obey representation condition 3. Each unit of attribute contributing to a
valid metric is equivalent 4. Different entities can have the same
attribute value
740f02measure17 20
Indirect Validation - PF
1. Explicitly defined model
2. Model must be dimensionally consistent
3. No unexpected discontinuities 4. Units and scale types must be correct