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 />

The classes that we measure are compiled Java classes <strong>and</strong> our metric<br />

extraction approach is discussed in Section 4.5.2. The class dependency<br />

graph captures the dependencies between the various classes in<br />

the s<strong>of</strong>tware system. The graph is constructed by analysing all classes<br />

in the system <strong>and</strong> our method is discussed in further detail in Section<br />

4.5.4 <strong>and</strong> Section 4.5.5. We consider the metrics that are described<br />

in this chapter as direct metrics since we compute the value by a direct<br />

count <strong>of</strong> either a class or a graph, rather than by combining different<br />

types <strong>of</strong> measures. That is, the domain used by the metric function<br />

contains only one variable.<br />

4.2 Types <strong>of</strong> Metrics<br />

S<strong>of</strong>tware systems exhibit two broad quantitative aspects that are captured<br />

by a range <strong>of</strong> s<strong>of</strong>tware metrics: size <strong>and</strong> structural complexity [77].<br />

These metrics can be used to provide a quantitative view <strong>of</strong> the s<strong>of</strong>tware<br />

systems size <strong>and</strong> internal structure as well as infer the process<br />

being used to create the s<strong>of</strong>tware system [117]. Over the past few<br />

decades, a number <strong>of</strong> different s<strong>of</strong>tware metrics have been proposed<br />

(e.g., purely size-oriented measures like the number <strong>of</strong> lines <strong>of</strong> code<br />

(LOC) or function-oriented measures to analyze process aspects like<br />

costs <strong>and</strong> productivity) to aid in the comprehension <strong>of</strong> the size as well<br />

as the complexity <strong>of</strong> a s<strong>of</strong>tware system [77,165]. When these measures<br />

are collected <strong>and</strong> analyzed over time, we can distil a temporal dimension<br />

which is capable <strong>of</strong> revealing valuable information such as the rate <strong>of</strong><br />

change [174,175] <strong>and</strong> evolutionary jumps in the architecture <strong>and</strong> complexity<br />

<strong>of</strong> the s<strong>of</strong>tware system under observation [101]. In this <strong>thesis</strong>,<br />

we collect both size <strong>and</strong> complexity metrics at the class level as this is<br />

the primary abstraction under study in our work.<br />

4.2.1 Size Metrics<br />

Size measures provide an indication <strong>of</strong> the volume <strong>of</strong> functionality provided<br />

by a s<strong>of</strong>tware system. Size metrics are considered to be a broad<br />

indicator <strong>of</strong> effort required to build <strong>and</strong> maintain a s<strong>of</strong>tware system,<br />

62

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

Saved successfully!

Ooh no, something went wrong!