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

<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

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

Saved successfully!

Ooh no, something went wrong!