Abstract: Effort-Aware Software Defect Prediction (EADP) ranks software modules according to the defect density of software modules, which allows testers to find more defects while reviewing a certain amount of code, and allocates testing resources more effectively. However, the recently proposed CBS+ and EASC methods tend to rank the software modules with more LOC (Lines of Code) first. Therefore, there are less inspected modules when inspecting the top 20% LOC via CBS+ and EASC. Although the two methods achieve the high Precision@20% value, the Recall@20% and PofB@20% (Proportion of the found Bugs when inspecting the top 20% LOC) values of the two methods are low. Therefore, we propose a method called EALTR to construct the EADP model by directly maximizing the found bugs when inspecting the top 20% LOC. EALTR uses the linear model to build the EADP model, and then employs the composite differential evolution algorithm to generate a set of coefficient vectors for the linear model. Finally, EALTR selects the coefficient vector that achieves the highest PofB@20% value on the training dataset to construct the EADP model. Our experimental results on eleven project datasets with 41 releases show that the EALTR method performs better than CBS+ and EASC in terms of Recall@20% and PofB@20%.
Loading