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<br />

Change Dynamics<br />

It is a widely accepted fact that evolving s<strong>of</strong>tware systems change <strong>and</strong><br />

grow [166]. However, it is less well-understood how change is distributed<br />

over time, specifically in object oriented s<strong>of</strong>tware systems. The<br />

patterns <strong>and</strong> techniques presented in the previous chapter permit developers<br />

to identify specific releases where significant change took place<br />

as well as to inform them <strong>of</strong> the longer term trend in the distribution<br />

pr<strong>of</strong>ile. This knowledge assists developers in recording systemic <strong>and</strong><br />

substantial changes to a release, as well as to provide useful information<br />

as input into a potential release retrospective. However, the analysis<br />

methods presented in the previous chapters can only be applied<br />

after a mature release <strong>of</strong> the code has been developed. But in order<br />

to manage the evolution <strong>of</strong> complex s<strong>of</strong>tware systems effectively, it is<br />

important to identify change-prone classes as early as possible. Specifically,<br />

developers need to know where they can expect change, the likelihood<br />

<strong>of</strong> a change, <strong>and</strong> the magnitude <strong>of</strong> these modifications in order to<br />

take proactive steps <strong>and</strong> mitigate any potential risks arising from these<br />

changes.<br />

Previous research into change-prone classes has identified some common<br />

aspects, with different studies suggesting that complex <strong>and</strong> large<br />

classes tend to undergo more changes [20,28,31,63,130,177,213,266,<br />

314,318], <strong>and</strong> classes that changed recently are likely to undergo modifications<br />

in the near future [93, 94]. Though the guidance provided is<br />

138

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

Saved successfully!

Ooh no, something went wrong!