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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 6. Change Dynamics<br />

A recent study into change by Gîrba et al. showed that classes that have<br />

changed in the past are also those most likely to change in the future.<br />

They also showed that these classes were the minority [92]. In related<br />

<strong>and</strong> earlier work, Gîrba et al. have tested the hypo<strong>thesis</strong> that classes<br />

that have changed in the past are likely to change in the future [94].<br />

The reliability <strong>of</strong> this measure <strong>of</strong> “yesterday’s weather” seems to vary<br />

according to the “climate” <strong>of</strong> a s<strong>of</strong>tware project. Gîrba et al. have also<br />

studied the relationship between change <strong>and</strong> developers [95]. Additionally,<br />

Girba et al. in their studies tag a class as having changed if methods<br />

were added or removed. They also identify change at the method<br />

level by observing a change in the number <strong>of</strong> statement <strong>and</strong> the cyclomatic<br />

complexity. In our study, we used a larger set <strong>of</strong> properties to<br />

detect change <strong>and</strong> hence are able to identify more fine grained changes.<br />

Rather than modeling <strong>and</strong> underst<strong>and</strong>ing the nature <strong>of</strong> change, their<br />

goal was to underst<strong>and</strong> which developers are most knowledgeable about<br />

different parts <strong>of</strong> an evolving system.<br />

Another arc in the study <strong>of</strong> change has been the area <strong>of</strong> underst<strong>and</strong>ing<br />

co-change, where the assumption is made that certain groups <strong>of</strong><br />

classes or modules change together [85] because related features are<br />

grouped together. This assumption was supported by research undertaken<br />

by Hassan <strong>and</strong> Holt who analyzed many Open Source projects<br />

<strong>and</strong> concluded that historical co-change is a better predictor <strong>of</strong> change<br />

propagation [113]. This observation is also supported by Zimmerman et<br />

al. [319,320] which led to the development <strong>of</strong> tools [315] that can guide<br />

developers to consider a group <strong>of</strong> classes when they modify one class.<br />

Our study however, aims at underst<strong>and</strong>ing the statistical properties <strong>of</strong><br />

post-release change <strong>and</strong> inherent properties <strong>of</strong> a class that might lead<br />

them to change. The properties that we identified can improve project<br />

plans <strong>and</strong> help during iteration retrospectives, rather than being able<br />

to directly guide developers about potential co-changing classes. Furthermore,<br />

Gall et al., Hassan et al., <strong>and</strong> Zimmerman et al. relied on the<br />

revision history in their studies, <strong>and</strong> identify change during the development<br />

phase. We however, investigated the release history <strong>and</strong> hence<br />

are able to provide a post-release change perspective.<br />

175

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

Saved successfully!

Ooh no, something went wrong!