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

lowing drivers (as per Chapin’s typology [43]): groomative, preventative,<br />

performance, adaptive, enhancive, corrective <strong>and</strong> reductive.<br />

Our definition <strong>of</strong> s<strong>of</strong>tware evolution does not explicitly position it from<br />

the entire life-cycle (i.e. from concept till the time it is discontinued) <strong>of</strong> a<br />

product perspective as suggested by Rajlich [230], but it ensures that as<br />

long as there is a new release with measurable changes, then the s<strong>of</strong>tware<br />

is considered to be evolving. However, if there are changes made<br />

via modifications to external configuration/data files, they will not be<br />

within the scope <strong>of</strong> our definition. Similarly, we also ignore changes<br />

made to the documentation, training material or other potential data<br />

sources like the development plans. Alhough these data sources add<br />

additional information, the most reliable source <strong>of</strong> changes to a s<strong>of</strong>tware<br />

system is the actual executable (<strong>and</strong> source code) itself. Hence in our<br />

study <strong>of</strong> s<strong>of</strong>tware evolution, we focus primarily on the actual artefact<br />

<strong>and</strong> use other sources to provide supporting rationale, or explanation<br />

for the changes.<br />

Studies <strong>of</strong> S<strong>of</strong>tware Evolution<br />

Studies into s<strong>of</strong>tware evolution can be classified based on the primary<br />

entities <strong>and</strong> attributes that are used in the analysis [25]. One perspective<br />

is to collect a set <strong>of</strong> measurements from distinct releases <strong>of</strong> a s<strong>of</strong>tware<br />

system <strong>and</strong> then analyze how these measures change over time in<br />

order to underst<strong>and</strong> evolution – these are referred to as release based<br />

studies. The alternative perspective is to study evolution by analyzing<br />

the individual changes that are made to a s<strong>of</strong>tware system throughout<br />

its life cycle – referred to as change based studies. These studies<br />

consider an individual change to be a specific change task, an action<br />

arising from a change request, or a set <strong>of</strong> modifications made to the<br />

components <strong>of</strong> a s<strong>of</strong>tware system [25].<br />

Release based studies are able to provide an insight into evolution from<br />

a post-release maintenance perspective. That is, we can observe the<br />

evolution <strong>of</strong> the releases <strong>of</strong> a s<strong>of</strong>tware system that the stakeholders are<br />

likely to deploy <strong>and</strong> use. The assumption made by these studies is that<br />

15

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

Saved successfully!

Ooh no, something went wrong!