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 6. Change Dynamics<br />
smells that they consider is related to excessive complexity within a<br />
class (computed as the sum <strong>of</strong> method cyclomatic complexities [190]).<br />
In our work, we use the Number <strong>of</strong> Branches (NOB) as the measure <strong>of</strong><br />
structural complexity within a class. The NOB metric that we use can<br />
be considered to be equivalent to the cyclomatic complexity metric used<br />
by Khomh et al. since both metrics are based on the same underlying<br />
measure (see the NOB metric definition in Chapter 4). The findings by<br />
Khomh et al. are similar to our own conclusions with respect to the<br />
structural complexity <strong>of</strong> a class suggesting that structurally complex<br />
class are change-prone during development, <strong>and</strong> post-release. We also,<br />
identified a consistent relationship between popularity <strong>and</strong> probability<br />
<strong>of</strong> change which was not considered within the work by Khomh et al..<br />
In a recent study, Capiluppi et al. [36, 37] investigated the value <strong>of</strong> stability<br />
at predicting reuse <strong>of</strong> a s<strong>of</strong>tware module (identified as a set <strong>of</strong><br />
files within a source code folder) by studying evolution in 4 long-lived<br />
open source s<strong>of</strong>tware systems. Capiluppi et al. argue that highly stable<br />
modules are good c<strong>and</strong>idates to be tuned into independent reusable<br />
modules. Capiluppi et al. measured stability by using Martin’s Instability<br />
Metric [189] which uses the coupling <strong>of</strong> a module (similar to the<br />
In Degree <strong>and</strong> Out Degree count in our work) as the basis for calculating<br />
the stability. However as discussed in Section 6.3.3, Martin’s<br />
instability metric does not measure actual stability <strong>of</strong> an abstraction<br />
over time <strong>and</strong> hence cannot be considered to be a direct measure <strong>of</strong><br />
actual change. We also did not find any rigorous longitudinal studies<br />
that have shown the relationship between Martin’s instability metric<br />
<strong>and</strong> actual changes that take place within a module. In contrast, our<br />
work shows that the new dependants place additional pressure on a<br />
class increasing the probability <strong>of</strong> change to satisfy new clients.<br />
A key distinction from our own study <strong>and</strong> that by Capiluppi et al. [36,37]<br />
is the level <strong>of</strong> abstraction used in the study. We focus on changes at the<br />
class level, while Capiluppi et al. study modules. Although, the level <strong>of</strong><br />
abstraction used in our study is different, a module can be treated as<br />
a set <strong>of</strong> related classes. Therefore, if a set <strong>of</strong> classes within a module<br />
change, we can considered the module to have changed as well <strong>and</strong><br />
hence our findings are likely to be similar at the module level as well.<br />
178