thesis - Faculty of Information and Communication Technologies ...
thesis - Faculty of Information and Communication Technologies ...
thesis - Faculty of Information and Communication Technologies ...
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