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

More recent work by Purushothaman et al. [228] has provided some<br />

insight into the size <strong>of</strong> change. Purushotham et al., based on an analysis<br />

<strong>of</strong> the source code revision control system logs conclude that most<br />

<strong>of</strong> the changes are very small based on the observation that 95% <strong>of</strong><br />

the changes required a modification <strong>of</strong> less than 50 lines <strong>of</strong> code. A key<br />

weakness <strong>of</strong> this study is that it was based on a single large commercial<br />

s<strong>of</strong>tware system, <strong>and</strong> hence lacks sufficient generalizability. Another<br />

study that investigated the size <strong>of</strong> change was undertaken by Mockus<br />

et al. [201] who observed that the size <strong>of</strong> change was very small for<br />

defect corrections. The study by Mockus et al. however does not provide<br />

any further insight into the dimensions <strong>of</strong> change beyond defect<br />

corrections.<br />

Wu et al. [304, 305] in a release-based study investigated the nature <strong>of</strong><br />

change in 3 open-source s<strong>of</strong>tware systems. They found that projects<br />

alternate between periods <strong>of</strong> localised small incremental changes <strong>and</strong><br />

periods <strong>of</strong> deep architectural changes (which impacted a large number<br />

<strong>of</strong> modules). The studies by Wu et al. focused on a comparatively small<br />

data set, <strong>and</strong> investigated only architectural changes by analysing how<br />

incoming <strong>and</strong> outgoing dependencies for each object file change over<br />

time.<br />

Anton et al. [3, 4] investigated change in the set <strong>of</strong> functionality <strong>of</strong>fered<br />

by the telephone network to end-users over a 50 year period. Anton et al.<br />

showed that different change drivers apply at different times <strong>and</strong> that<br />

functional evolution takes place in discrete bursts followed by gradual<br />

enhancement giving rise to a “punctuated equilibrium” pattern [14]. Interestingly,<br />

this is the pattern that Wu et al. also identified in their work<br />

even though the granularity <strong>and</strong> perspectives <strong>of</strong> these two studies are<br />

vastly different. Although the study by Anton et al. is interesting, their<br />

findings are helpful to review <strong>and</strong> underst<strong>and</strong> long-term strategy rather<br />

than in directly helping developers underst<strong>and</strong> the nature <strong>of</strong> changes<br />

within the s<strong>of</strong>tware system at a local level over a relatively shorter time<br />

interval.<br />

A different perspective to underst<strong>and</strong>ing dimensions <strong>of</strong> change in the<br />

context <strong>of</strong> object-oriented s<strong>of</strong>tware systems has been driven by researchers<br />

35

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

Saved successfully!

Ooh no, something went wrong!