thesis - Faculty of Information and Communication Technologies ...
thesis - Faculty of Information and Communication Technologies ...
thesis - Faculty of Information and Communication Technologies ...
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