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 6. Change Dynamics<br />

However, a serious investigation <strong>of</strong> change at higher level <strong>of</strong> abstraction<br />

remains to be done <strong>and</strong> we intend to consider it in future work.<br />

6.5 Limitations<br />

In order to place our study in context, we highlight some <strong>of</strong> the known<br />

limitations <strong>of</strong> our approach in addition to our findings.<br />

The change detection method used in this work may miss a small set<br />

<strong>of</strong> classes if the change is not measurable in the metrics under consideration.<br />

The accuracy can be improved by adding further metrics<br />

<strong>and</strong> additional aspects like a comparison <strong>of</strong> the call graph. The value<br />

<strong>of</strong> this additional complexity remains as a topic for consideration in our<br />

future work. Furthermore, our distance measure compares the initial<br />

version <strong>of</strong> a class to the final version. This method will miss edits where<br />

a class is modified <strong>and</strong> returned back to its original shape, as seen by<br />

our change detection technique. This limitation can be addressed by<br />

computing a distance measure incrementally. As a consequence, the<br />

analysis approach will need to be adjusted to take into consideration<br />

the way the metric information is being collected.<br />

Our method <strong>of</strong> computing modification misses classes that have been<br />

renamed; they will be considered as a deletion (in the earlier version)<br />

<strong>and</strong> an addition (to the later version). However, <strong>of</strong> the few classes that<br />

are deleted (less than 4% in general), a subset might be class renames.<br />

We checked if a class has indeed been renamed manually in 300 r<strong>and</strong>omly<br />

selected instances. Less than 5% <strong>of</strong> the classes that we checked<br />

can be considered refactored with a name change. Based on this observation,<br />

the benefit from using a complex algorithm to detect renamed<br />

classes is likely to have at best a minimal overall impact <strong>and</strong> our overall<br />

conclusions <strong>and</strong> recommendations will still hold.<br />

We have also not investigated in depth why changing classes have higher<br />

than normal In-Degree Count. We speculate that the introduction <strong>of</strong><br />

new clients creates the need for adaptations. Other possibilities are<br />

that (i) new clients introduce new requirements, but that suggests new<br />

179

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

Saved successfully!

Ooh no, something went wrong!