Abstract
Software Defect Prediction (SDP) aims to detect defective modules to enable the reasonable allocation of testing resources, which is an economically critical activity in software quality assurance. Learning effective feature representation and addressing class imbalance are two main challenges in SDP. Ideally, the more discriminative the features learned from the modules and the better the rescue performed on the imbalance issue, the more effective it should be in detecting defective modules. In this study, to solve these two challenges, we propose a novel framework named LDFR by Learning Deep Feature Representation from the defect data for SDP. Specifically, we use a deep neural network with a new hybrid loss function that consists of a triplet loss to learn a more discriminative feature representation of the defect data and a weighted cross-entropy loss to remedy the imbalance issue. To evaluate the effectiveness of the proposed LDFR framework, we conduct extensive experiments on a benchmark dataset with 27 defect data (each with three types of features), using three traditional and three effort-aware indicators. Overall, the experimental results demonstrate the superiority of our LDFR framework in detecting defective modules when compared with 27 baseline methods, except in terms of the indicator of Precision.
Original language | English |
---|---|
Article number | 110402 |
Pages (from-to) | 1-20 |
Journal | Journal of Systems and Software |
Volume | 158 |
DOIs | |
Publication status | Published - Dec 2019 |
Keywords
- Deep feature representation
- Deep neural network
- Software defect prediction
- Triplet loss
- Weighted cross-entropy loss
ASJC Scopus subject areas
- Software
- Information Systems
- Hardware and Architecture