One-class Support Vector Machine (SVM) classification is well-suited to train classifiers when the training dataset is very imbalanced. So, it is increasingly used for software defect prediction, since faulty modules are usually relatively rare, compared to non-faulty ones. Though a minority, faulty modules often are a non-negligible fraction of the total; hence, completely ignoring them when training a one-class model can lead to discarding potentially useful information: we investigate how to exploit the information embedded in the minority class when using one-class SVM classification. To this end, we devised an ensemble software defect prediction method that takes advantage of one-class SVM classification without ignoring the minority class modules. Two one-class SVM defectiveness classification models are built: one based on the majority class modules alone and the other on the minority class modules alone. If both models agree on the defectiveness of a module, it is classified accordingly; otherwise, as “uncertain.” Uncertainty can then be treated in many different ways. Here, we adopt a “prudential” approach: a module is classified non-faulty only if it is estimated non-faulty by both one-class classifiers; otherwise, faulty. The proposed approach was tested by comparing its results with the ones obtained via two-class and one-class SVM classifiers. The results show that our technique is a valid alternative to both two-class and one-class classifications. Specifically, our approach achieves lower global cost when the cost of a false negative (i.e., a faulty module incorrectly believed non-faulty) is sufficiently higher than the cost of a false positive (a non-faulty module incorrectly believed faulty).
Agreement-based SVM One-Class Classification: an Ensemble Method for Software Defect Prediction
Luigi Lavazza
;Sandro Morasca;Gabriele Rotoloni
2026-01-01
Abstract
One-class Support Vector Machine (SVM) classification is well-suited to train classifiers when the training dataset is very imbalanced. So, it is increasingly used for software defect prediction, since faulty modules are usually relatively rare, compared to non-faulty ones. Though a minority, faulty modules often are a non-negligible fraction of the total; hence, completely ignoring them when training a one-class model can lead to discarding potentially useful information: we investigate how to exploit the information embedded in the minority class when using one-class SVM classification. To this end, we devised an ensemble software defect prediction method that takes advantage of one-class SVM classification without ignoring the minority class modules. Two one-class SVM defectiveness classification models are built: one based on the majority class modules alone and the other on the minority class modules alone. If both models agree on the defectiveness of a module, it is classified accordingly; otherwise, as “uncertain.” Uncertainty can then be treated in many different ways. Here, we adopt a “prudential” approach: a module is classified non-faulty only if it is estimated non-faulty by both one-class classifiers; otherwise, faulty. The proposed approach was tested by comparing its results with the ones obtained via two-class and one-class SVM classifiers. The results show that our technique is a valid alternative to both two-class and one-class classifications. Specifically, our approach achieves lower global cost when the cost of a false negative (i.e., a faulty module incorrectly believed non-faulty) is sufficiently higher than the cost of a false positive (a non-faulty module incorrectly believed faulty).I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.



