Too trivial to test? An inverse view on defect prediction to identify methods with low fault risk
Rainer Niedermayr1,2, Tobias Röhm1, Stefan Wagner2
1CQSE GmbH, München, Germany.
Background:
Test resources are usually limited and therefore it is often not possible to completely test an application before a release. To cope with the problem of scarce resources, development teams can apply defect prediction to identify fault-prone code regions. However, defect prediction tends to low precision in cross-project prediction scenarios.
Aims:
We take an inverse view on defect prediction and aim to identify methods that can be deferred when testing because they contain hardly any faults due to their code being "trivial". We expect that characteristics of such methods might be project-independent, so that our approach could improve cross-project predictions.
Method:
We compute code metrics and apply association rule mining to create rules for identifying methods with low fault risk (LFR). We conduct an empirical study to assess our approach with six Java open-source projects containing precise fault data at the method level.
Results:
Our results show that inverse defect prediction can identify approx. 32-44% of the methods of a project to have a LFR; on average, they are about six times less likely to contain a fault than other methods. In cross-project predictions with larger, more diversified training sets, identified methods are even 11 times less likely to contain a fault.
Conclusions:
Inverse defect prediction supports the efficient allocation of test resources by identifying methods that can be treated with less priority in testing activities and is well applicable in cross-project prediction scenarios.
Related Concept Videos
Types of Errors: Detection and Minimization
Absolute error in a measurement is the numerical difference from the true or central value. Relative error is the ratio between absolute error and the true or central value, expressed as a percentage.
Errors can be classified by source, magnitude, and sign. There are three types of errors: systematic, random, and gross.
Systematic or...
Fault Types
For line-to-line faults occurring between phases B and C, the...
Detection of Gross Error: The Q Test
Bus Impedance Matrix
In the first circuit, all machine voltage sources are short-circuited, leaving only the prefault voltage source at the fault location. The positive-sequence bus impedance matrix can be determined by solving the nodal equations,...
Power System Three-Phase Short Circuits
Mechanistic Models: Compartment Models in Individual and Population Analysis


