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

The key argument in our study is that when dealing with skewed distributions,<br />

it is hard to derive sensible conclusions from descriptive<br />

statistical summary measures such as mean <strong>and</strong> median. Hence, we<br />

recommend that s<strong>of</strong>tware metric tool developers should present the distribution<br />

histogram (relative <strong>and</strong> cumulative), the Lorenz curve <strong>and</strong> the<br />

Gini Coefficient values. When this information is shown along with the<br />

typical range for the Gini Coefficient values, the tool users can reason<br />

about the nature <strong>of</strong> their s<strong>of</strong>tware more effectively. Furthermore,<br />

rather than remove the widely used summary measures (such as mean<br />

<strong>and</strong> st<strong>and</strong>ard deviation) the tools should display a warning about the<br />

limitations <strong>of</strong> these measures. This approach will serve to inform <strong>and</strong><br />

educate the users allowing them to interpret the data better.<br />

The second recommendation based on our study is related to the feature<br />

allowing users to set thresholds for metrics. The common approach that<br />

is currently provided allows users to identify abstractions that breach<br />

a threshold value. Tool vendors suggest that this feature is helpful<br />

in identifying complex classes or methods. However, our observations<br />

show that it is normal in s<strong>of</strong>tware systems to have a small proportion <strong>of</strong><br />

classes <strong>and</strong> methods that are significantly more complex than others.<br />

We also found that this typical skewed nature does not impact on the<br />

evolution as many systems in our data set were able to sustain change<br />

<strong>and</strong> growth over many years. Based on these findings, we recommend<br />

that thresholds should be based on relative proportions rather than absolute<br />

values. For example, the tools should allow users to set 10% <strong>of</strong><br />

the methods can have a cyclomatic complexity greater than 7. This approach<br />

also has the advantage <strong>of</strong> educating the users about the nature<br />

<strong>of</strong> the data that is being measured. Where sufficient historical data is<br />

available, the range for acceptable proportional threshold values can be<br />

determined from previous successful projects.<br />

7.2.3 Testing <strong>and</strong> Monitoring Changes<br />

S<strong>of</strong>tware testing literature recommends that developers should target<br />

complex classes when testing object oriented s<strong>of</strong>tware [29], as the complexity<br />

tends to increase defect density [205]. Our findings provide addi-<br />

189

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

Saved successfully!

Ooh no, something went wrong!