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 />
used to guide development teams to identify abnormal growth patterns.<br />
Further, we can also verify if developers follow what are considered good<br />
s<strong>of</strong>tware engineering practice <strong>and</strong> avoid god classes [237] as s<strong>of</strong>tware<br />
evolves. This form <strong>of</strong> analysis is also helpful in early identification <strong>of</strong><br />
abnormal <strong>and</strong> unusual changes. This is necessary because research<br />
into s<strong>of</strong>tware reliability shows us that structurally complex parts <strong>of</strong> the<br />
s<strong>of</strong>tware tend to contain a higher rate <strong>of</strong> defects [20,205,281,317] <strong>and</strong><br />
early identification <strong>of</strong> parts that are gaining in complexity will allow us<br />
to take corrective actions sooner.<br />
In our study we aim to close these gap in our underst<strong>and</strong>ing <strong>and</strong> observe<br />
evolution from a different perspective. Rather than use global<br />
size growth models to infer support for laws <strong>and</strong> underst<strong>and</strong> the nature<br />
<strong>of</strong> evolution, we study s<strong>of</strong>tware evolution by observing how the<br />
distribution <strong>of</strong> size <strong>and</strong> complexity changes over time. More specifically,<br />
we undertake a longitudinal study that constructs probability density<br />
functions <strong>of</strong> different metrics collected from the s<strong>of</strong>tware systems, <strong>and</strong><br />
builds a descriptive model <strong>of</strong> evolution by observing how these metric<br />
distributions change over time.<br />
2.5 Studies <strong>of</strong> Change<br />
It is a widely accepted that s<strong>of</strong>tware systems that are in active use need<br />
to be changed at some or many stages <strong>of</strong> its life in order to stay useful<br />
[175, 188, 192]. Given that change is the one inherent constant <strong>of</strong><br />
an active <strong>and</strong> used s<strong>of</strong>tware system, the key to a successful s<strong>of</strong>tware<br />
evolution approach lies, however, not only in adapting a system to support<br />
the new requirements [87], but also in underst<strong>and</strong>ing the nature<br />
<strong>and</strong> the dynamics <strong>of</strong> change. Managing <strong>and</strong> reducing the costs <strong>and</strong><br />
risks <strong>of</strong> changes to s<strong>of</strong>tware that arise as part <strong>of</strong> the maintenance process<br />
are important goals for both research <strong>and</strong> the practice <strong>of</strong> s<strong>of</strong>tware<br />
engineering [25, 220].<br />
The laws <strong>of</strong> s<strong>of</strong>tware evolution, as well as a number <strong>of</strong> other studies,<br />
have consistently suggested that evolving s<strong>of</strong>tware will grow <strong>and</strong> undergo<br />
change as it is adapted [175,188,192,293]. Since s<strong>of</strong>tware growth<br />
30