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

6.3.4 Popularity <strong>of</strong> New Classes<br />

We have seen that the distributions <strong>of</strong> size <strong>and</strong> complexity remains stable,<br />

hence it cannot be that growth mainly occurs in existing classes,<br />

but rather in the creation <strong>of</strong> new classes. But where does this growth<br />

occur — do developers build on top <strong>of</strong> the existing code base, or do they<br />

tend to build features as components that are added into a s<strong>of</strong>tware<br />

system?<br />

Since new classes have lower than average In-Degree Count, it seems<br />

clear that growth is on top <strong>of</strong> existing classes. It is highly unusual for a<br />

new class to have high In-Degree Count, so there must be little growth<br />

below classes <strong>of</strong> the existing system. This finding is also supported by<br />

the Gini coefficient analysis that shows that, in general, the Gini value<br />

<strong>of</strong> In-Degree Count tends to increase as s<strong>of</strong>tware matures, suggesting<br />

that as new classes are added they tend to make use <strong>of</strong> existing classes<br />

hence increasing their popularity. Further, since open-source projects<br />

are known to be developed in an incremental <strong>and</strong> iterative fashion, our<br />

observations are consistent with the notion that these systems are built<br />

bottom-up, rather than top-down.<br />

6.3.5 Complexity <strong>of</strong> Modified Classes<br />

We have observed that classes that are modified tend to have a higher<br />

Branch Count than the ones that remain unchanged. Why is this the<br />

case?<br />

Research into defect-prone classes [31, 213, 318] suggests that complex<br />

abstractions will tend to have more defects. Our observation that<br />

complex classes attract a higher proportion <strong>of</strong> modification is consistent<br />

with the fact that complex classes tend to have more defects <strong>and</strong>,<br />

therefore, are likely to undergo more modifications as the defects are<br />

corrected. Our observations are incomplete, however, since we have<br />

not analysed the defect data that will allow us to state that changes to<br />

complex classes are principally concerned with correcting defects. Furthermore,<br />

it is reported that corrective changes account for only 21% <strong>of</strong><br />

170

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

Saved successfully!

Ooh no, something went wrong!