Font Size: a A A

Metrics-Based Software Defect Prediction

Posted on:2019-06-30Degree:DoctorType:Dissertation
Country:ChinaCandidate:T J WangFull Text:PDF
GTID:1368330545499885Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
With the deep and wide application of software system in human society,the reliability of software becomes more and more important.Due to the increase of software system' size and complexity,it is difficult to find out all defects by using the traditional software testing methods with limited resources.Metric based software defect prediction method can construct a software defect prediction model with software historical defect data,and predict the defect proneness of new software modules,which is an important decision support activity in software quality assurance.The typical software defect prediction process contains four steps:collect software modules and then label them as defective or non-defective according to whether it contains defects or not;obtain attributes of software modules through software metrics;build a prediction model with the labels and module attributes;and then predict the defect proneness of new software modules with the model.The historical defect data is obtained by software metrics,which has marked characteristics of complicated structure,class-imbalance,limited labeled samples,and different data sources.Moreover,the cost of misclassification risk problem also needs to be considered in software defect prediction.This dissertation presents three software defect prediction algorithms,Kernel Dictionary Learning based software defect prediction,Multiple Kernel Ensemble Learning based software defect prediction,and Semi-supervised Ensemble Learning based software defect prediction.The main contents of this dissertation can be summarized as follows:(1)Propose a Kernel Dictionary Learning(KDL)approach for software defect prediction.The historical defect data used in software detect prediction has a complicated structure and a marked characteristic of class-imbalance which will leads to negative influence on decision of classifiers.Kernel trick can map the historical defect data to a higher-dimensional feature space where the defect data can be well represented.By using the characteristics of the metrics mined from the open source software,KDL gets a kernel dictionary learning classifier,which can predict software defect efficiently.Considering the class-imbalance problem in software defect prediction,KDL builds a class-balance kernel dictionary with the same number of defective modules and non-defective modules.(2)Propose a Multiple Kernel Ensemble Learning(MKEL)approach for software defect prediction.MKEL can get a multiple kernel classifier through ensemble learning method,which has the advantages of both multiple kernel learning and ensemble learning for software defect prediction.Considering the cost of risk in software defect prediction,MKEL designs a new sample weight vector updating strategy,which makes the weight of defective modules increase,and the weight of non-defective modules decrease,so as to focuse on the defective modules,reduce the cost of risk caused by misclassifying defective modules as non-defective ones.(3)Propose a Semi-supervised Ensemble Learning(SSEL)approach for software defect prediction.By combining semi-supervised learning with ensemble learning,SSEL can not only ease the time consuming labeling effort,exploit both labeled and unlabeled modules via semi-supervised learning,but also reduce the bias generated by the majority class,solve the class-imbalance problem in software defect prediction via ensemble learning.Considering the significance of similarity matrix,MKEL learns the similarity via sparse coding approach,which can get flexible similarity matrix and achieve better defect predict performance.The widely used NASA MDP datasets are employed as test data to evaluate the performance of all the proposed algorithms,experimental results show that the proposed algorithms can improve the performance of software defect prediction.
Keywords/Search Tags:Software Defect Prediction, Kernel Trick, Dictionary Learning, Multiple Kernel Learning, Ensemble Learning, Semi-supervised Learning
PDF Full Text Request
Related items