Failure is a Four-Letter Word: A Parody in Empirical Research

Andreas Zeller, Thomas Zimmermann, and Christian Bird


Background: The past years have seen a surge of techniques

predicting failure-prone locations based on more or less complex

metrics. Few of these metrics are actionable, though.

Aims: This paper explores a simple, easy-to-implement method

to predict and avoid failures in software systems. The IROP

method links elementary source code features to known software

failures in a lightweight, easy-to-implement fashion.

Method: We sampled the Eclipse data set mapping defects to

files in three Eclipse releases. We used logistic regression to as-

sociate programmer actions with defects, tested the predictive

power of the resulting classifier in terms of precision and recall,

and isolated the most defect-prone actions. We also collected

initial feedback on possible remedies.

Results: In our sample set, IROP correctly predicted up to 74% of

the failure-prone modules, which is on par with the most elaborate

predictors available. We isolated a set of four easy-to-remember

recommendations, telling programmers precisely what to do to

avoid errors. Initial feedback from developers suggests that these

recommendations are straightforward to follow in practice.

Conclusions: With the abundance of software development data,

even the simplest methods can produce “actionable” results.


Publication typeInproceedings
Published inProceedings of the 7th International Conference on Predictive Models in Software Engineering
> Publications > Failure is a Four-Letter Word: A Parody in Empirical Research