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

developers will create a release <strong>of</strong> a s<strong>of</strong>tware system once it is deemed to<br />

be relatively stable <strong>and</strong> defect-free [254]. By focusing on how a sequence<br />

<strong>of</strong> releases <strong>of</strong> a s<strong>of</strong>tware system evolve, the release-based studies gain<br />

knowledge about the dynamics <strong>of</strong> change between stable releases <strong>and</strong><br />

more importantly have the potential to identify releases with significant<br />

changes (compared to a previous release). The assumption that developers<br />

formally release only a stable build allows release based studies<br />

to identify patterns <strong>of</strong> evolution across multiple s<strong>of</strong>tware systems (since<br />

they compare what developers consider stable releases across different<br />

systems) [254].<br />

Change based studies, on the other h<strong>and</strong>, view evolution as the aggregate<br />

outcome <strong>of</strong> a number <strong>of</strong> individual changes over the entire life<br />

cycle [25]. That is, they primarily analyze information generated during<br />

the development <strong>of</strong> a release. Due to the nature <strong>of</strong> information that they<br />

focus on, change based studies tend to provide an insight into the process<br />

<strong>of</strong> evolution that is comparatively more developer centric. Although<br />

change based studies can also be used to determine changes from the<br />

end-user perspective, additional information about releases that have<br />

been deployed for customers to use has to be taken into consideration<br />

during analysis.<br />

Though s<strong>of</strong>tware evolution can be studied from both a release based<br />

as well as the change based perspective, most <strong>of</strong> the studies in the literature<br />

have been based on an analysis <strong>of</strong> individual changes [139].<br />

A recent survey paper by Kagdi et al. [139] reports on the result <strong>of</strong><br />

an investigation into the various approaches used for mining s<strong>of</strong>tware<br />

repositories in the context <strong>of</strong> s<strong>of</strong>tware evolution. Kadgi et al. show that<br />

most studies <strong>of</strong> evolution tend to rely on individual changes as recorded<br />

in the logs generated <strong>and</strong> maintained by configuration/defect management<br />

systems (60 out <strong>of</strong> the 80 papers that they studied). Though a<br />

specific reason for the preference towards studying these change logs is<br />

not provided in the literature, it is potentially because the logs permit<br />

an analysis <strong>of</strong> s<strong>of</strong>tware systems independent <strong>of</strong> the programming language,<br />

<strong>and</strong> the data is easily accessible directly from the tools typically<br />

used by the development team (e.g. CVS logs).<br />

16

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

Saved successfully!

Ooh no, something went wrong!