20.01.2014 Views

thesis - Faculty of Information and Communication Technologies ...

thesis - Faculty of Information and Communication Technologies ...

thesis - Faculty of Information and Communication Technologies ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 5. Growth Dynamics<br />

measure for the frequency <strong>of</strong> state changes in data containers within<br />

a system. Number <strong>of</strong> Branches, on the other h<strong>and</strong>, records all branch<br />

instructions <strong>and</strong> is used to measure the structural complexity at class<br />

level. This measure is equivalent to Weighted Method Count (WMC) as<br />

proposed by Chidamber <strong>and</strong> Kemerer [46] if a weight <strong>of</strong> 1 is applied for<br />

all methods <strong>and</strong> the complexity measure used is cyclomatic complexity<br />

[190]. We use the measures <strong>of</strong> Fan-Out Count <strong>and</strong> Type Construction<br />

Count to obtain insight into the dynamics <strong>of</strong> the s<strong>of</strong>tware systems. The<br />

former <strong>of</strong>fers a means to document the degree <strong>of</strong> delegation, whereas<br />

the latter can be used to count the frequency <strong>of</strong> object instantiations.<br />

The remaining metrics provide structural size <strong>and</strong> complexity measures.<br />

In-Degree Count <strong>and</strong> Out-Degree Count reveal the coupling <strong>of</strong> classes<br />

within a system. As discussed in Chapter 4, these measures are extracted<br />

from the type dependency graph that we construct for each analyzed<br />

system. The vertices in this graph are classes, whereas the edges<br />

are directed links between classes. We associate popularity (i.e., the<br />

number <strong>of</strong> incoming links) with In-Degree Count <strong>and</strong> usage or delegation<br />

(i.e., the number <strong>of</strong> outgoing links) with Out-Degree Count. Number<br />

<strong>of</strong> Methods, Public Method Count, <strong>and</strong> Number <strong>of</strong> Attributes define typical<br />

object-oriented size measures <strong>and</strong> provide insights into the extent<br />

<strong>of</strong> data <strong>and</strong> functionality encapsulation.<br />

5.3.2 Metric Correlation<br />

A natural consequence <strong>of</strong> selecting a range <strong>of</strong> metrics is to see if a<br />

smaller sub-set <strong>of</strong> these metrics would be sufficient. That is, do the selected<br />

measures all represent independent characterizing properties?<br />

We need to examine, therefore, all selected metrics more closely <strong>and</strong><br />

check whether there exists a relationship between any <strong>of</strong> them. If we<br />

discover a consistent <strong>and</strong> strong relationship between two measures,<br />

we may be able to eliminate one metric when it does not provide additional<br />

insights.<br />

In order to reduce the number <strong>of</strong> metrics needed, we use the technique<br />

<strong>of</strong> checking collinearity as recommended by Succi et al. [265] for sim-<br />

104

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!