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 />
<strong>of</strong> wealth.<br />
The results from our study showed that metric distributions have a<br />
similar shape across a range <strong>of</strong> different systems. These distributions<br />
are stable over long periods <strong>of</strong> time with occasional <strong>and</strong> abrupt spikes<br />
indicating significant changes are rare. A general pattern is that once<br />
developers commit to a specific solution approach, the organisational<br />
preferences are stable as the s<strong>of</strong>tware system evolves.<br />
An unexpected finding <strong>of</strong> this study was the observation that systems<br />
containing machine generated code have distributions that are significantly<br />
more skewed. Based on this unique pr<strong>of</strong>ile we developed a technique<br />
that can be used to automatically detect the presence <strong>of</strong> generated<br />
code — a technique that can greatly aid s<strong>of</strong>tware comprehension as well<br />
as to assist in s<strong>of</strong>tware reviews.<br />
Our analysis shows that the popularity <strong>of</strong> a class is not a function <strong>of</strong><br />
its size or complexity, <strong>and</strong> that evolution typically drives these popular<br />
classes to gain additional users over time. This finding provides empirical<br />
support for the Yule process, also known as the preferential attachment<br />
growth model. Interestingly, measures <strong>of</strong> size <strong>and</strong> structural<br />
complexity do not show generalizable pattern. That is, large <strong>and</strong> complex<br />
classes do not get bigger <strong>and</strong> more complex over time purely due to<br />
the process <strong>of</strong> evolution, rather there are other contributing factors that<br />
determine which classes gain complexity <strong>and</strong> volume. Identification <strong>of</strong><br />
these factors is an area that we leave as future work.<br />
Given that popular classes in general gain additional popularity in evolving<br />
s<strong>of</strong>tware, a natural question that arises is – “does this growth in<br />
popularity place any pressure on popular classes to change?” Lehman’<br />
Laws <strong>of</strong> S<strong>of</strong>tware Evolution [174] suggest that s<strong>of</strong>tware systems, due to<br />
their very use, provide evolutionary pressures that drive change. Would<br />
classes due to their popularity also undergo modifications? Although,<br />
this was not an initial research question that we set out to answer in our<br />
study, we added it into our study <strong>of</strong> the nature <strong>of</strong> change <strong>and</strong> discuss<br />
our findings in the next chapter.<br />
137