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 2. S<strong>of</strong>tware Evolution<br />

Dimensions <strong>of</strong> Change<br />

Change is defined 1 as a process <strong>of</strong> transformation — to make the form<br />

different from what it is. Some <strong>of</strong> the earliest studies that attempted to<br />

investigate <strong>and</strong> underst<strong>and</strong> the nature <strong>of</strong> change were undertaken by<br />

Lehman et al. [168,175] as part <strong>of</strong> the work that developed the Laws <strong>of</strong><br />

S<strong>of</strong>tware Evolution. Lehman et al. were able to establish that existing<br />

s<strong>of</strong>tware was being adapted based on direct observation <strong>of</strong> size growth,<br />

<strong>and</strong> confirmation from the development team that the s<strong>of</strong>tware was<br />

being adapted to meet changing requirements. Based on the work by<br />

Lehman et al., Gall et al. [85] observed change by measuring the number<br />

<strong>of</strong> program files that were added, removed <strong>and</strong> modified in each release<br />

by analysing 20 releases <strong>of</strong> a single commercial s<strong>of</strong>tware system. In this<br />

study, Gall et al. showed that some modules changed more than others<br />

<strong>and</strong> also that the rate <strong>of</strong> change, in general, decreased over time. More<br />

recent studies have focused on observing changes by measuring the<br />

number <strong>of</strong> functions that were modified, <strong>and</strong> also by observing how the<br />

complexity <strong>of</strong> functions changed over time [217, 291, 310]. A common<br />

finding in these studies <strong>of</strong> change is that they confirm the applicability<br />

<strong>of</strong> the First Law <strong>of</strong> S<strong>of</strong>tware Evolution – Continuing Change. A recent<br />

survey paper by Ramil et al. [192] that summarises empirical studies<br />

<strong>of</strong> evolution within the context <strong>of</strong> open source s<strong>of</strong>tware evolution also<br />

suggests that there is consistent support for the first law.<br />

Early work <strong>of</strong> Lehman et al., as well as following studies into s<strong>of</strong>tware<br />

evolution (as discussed in previous sections) have consistently found<br />

that s<strong>of</strong>tware is adapted as it evolves. However, they have not focused<br />

on a more detailed analysis <strong>of</strong> the various dimensions <strong>of</strong> change. A<br />

method to underst<strong>and</strong> change more effectively was proposed by Barry<br />

et al. [17] where they argue that volatility within s<strong>of</strong>tware has three<br />

distinct dimensions from which it can be studied: amplitude (size <strong>of</strong><br />

change), periodicity (frequency <strong>of</strong> change), <strong>and</strong> dispersion (consistency<br />

<strong>of</strong> change). Amplitude measures the size <strong>of</strong> modification <strong>and</strong> a number<br />

<strong>of</strong> different approaches can be applied to determine this amplitude. An<br />

example <strong>of</strong> a method used to determine the amplitude <strong>of</strong> change in a<br />

file (at two instances in time) can be measured as the sum <strong>of</strong> the lines<br />

1 Oxford American Dictionary, 2005<br />

33

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

Saved successfully!

Ooh no, something went wrong!