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 4. Measuring Evolving S<strong>of</strong>tware<br />

Abbv. Name Description<br />

SCC Super Class Counted as 0 if super class is<br />

Count java.lang.Object, else 1.<br />

NOC Number <strong>of</strong> Count <strong>of</strong> classes that directly inherit from this<br />

Children class. Metric value is in the interval [0, N).<br />

NOD Number <strong>of</strong> Count <strong>of</strong> all classes that inherit from this<br />

Descendantitance<br />

class. Computed by walking down the inher-<br />

tree. Metric value is in the interval<br />

[0, |N| − 1).<br />

DIT Depth in If the class has no parent in core s<strong>of</strong>tware<br />

Inheritance<br />

Tree<br />

system then the value is 1, otherwise it is<br />

1+depth <strong>of</strong> inheritance <strong>of</strong> direct parent.<br />

Table 4.6: Inheritance metrics computed for each class.<br />

l out (n) = l e out(n) + l i out(n) (4.5.5)<br />

The dependency metrics collected for each class <strong>and</strong> the abbreviation<br />

used for the metrics are presented in Table 4.5. While determining<br />

the dependencies between classes we ignore all dependency links into<br />

java.lang.Object since all objects in Java inherit from this class. By<br />

ignoring this default link we are able to determine if there are classes<br />

that do not have any outgoing links to other objects, that is, Out-Degree<br />

Count can be zero for some classes. Furthermore, having a potential<br />

zero value for the dependency metrics simplifies the statistical analysis<br />

that we undertake in our study (discussed in further detail in Chapter 5<br />

<strong>and</strong> Chapter 6).<br />

We illustrate how our dependency metrics are computed by using an<br />

example class diagram (see Figure 4.7 showing both the figure <strong>and</strong> the<br />

metrics computed, <strong>and</strong> Table 4.5 presents the full form <strong>of</strong> the abbreviations<br />

used). In this <strong>thesis</strong>, we consider the dependency metrics that<br />

we extract to be a measure <strong>of</strong> structural complexity since they capture<br />

the degree <strong>of</strong> inter-connectedness between classes (as discussed earlier<br />

in Section 4.2.2).<br />

87

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

Saved successfully!

Ooh no, something went wrong!