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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 5. Growth Dynamics<br />

4. The popularity <strong>of</strong> a class is not a monotonic function <strong>of</strong> its size or<br />

complexity (as captured by our 10 metrics). In other words, large<br />

<strong>and</strong> complex classes are no more popular than small <strong>and</strong> simple<br />

classes.<br />

5. The process <strong>of</strong> s<strong>of</strong>tware evolution in general causes popular classes<br />

to gain additional dependents <strong>and</strong> hence become even more popular.<br />

5.5 Discussion<br />

In this section, we discuss how developers choose to maintain s<strong>of</strong>tware<br />

systems by interpreting the observations presented in the previous section.<br />

Specifically, we argue that though the different metrics selected<br />

are strongly correlated, the inconsistency <strong>of</strong> the strength between different<br />

systems warrants the use <strong>of</strong> different metrics in order to underst<strong>and</strong><br />

the maintenance <strong>of</strong> a s<strong>of</strong>tware system effectively. Furthermore,<br />

we discuss the finding <strong>of</strong> the consistent increase in the Gini Coefficient<br />

value <strong>of</strong> the In-Degree Count <strong>and</strong> argue that this observation provides<br />

the empirical support for the preferential attachment model that has<br />

previously been postulated as one <strong>of</strong> the likely models <strong>of</strong> growth. We<br />

also present an explanation for the observation <strong>of</strong> highly stable <strong>and</strong><br />

strongly bounded range for the Gini Coefficients <strong>and</strong> show that the decisions<br />

that developers make with respect to how they organise a solution<br />

are highly consistent during the development life cycle. Additionally,<br />

we present our interpretation for why developers prefer to construct<br />

<strong>and</strong> maintain solutions with highly skewed distributions where much<br />

<strong>of</strong> the functionality is centralised into a few god-like classes. We end<br />

the section with a discussion on the value <strong>and</strong> applicability <strong>of</strong> the Gini<br />

Coefficient for identifying releases with significant changes as well as<br />

for detecting the presence <strong>of</strong> machine generated code.<br />

121

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

Saved successfully!

Ooh no, something went wrong!