Font Size: a A A

Research On Convolutional Auto-encoder Based Software Defect Prediction Method

Posted on:2022-06-26Degree:MasterType:Thesis
Country:ChinaCandidate:Z H WangFull Text:PDF
GTID:2518306569975589Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
An ideal defect prediction model can detect varied faults hidden in the software,which significantly facilitates the programming team to shorten the development cycle,reduce maintenance costs,improve software reliability,etc.In software defect prediction,the choice of software features and classification algorithms has an important impact on prediction performance.Therefore,researchers have devoted efforts on how to design features that are able to reflect software quality and propose corresponding algorithms to build predictive models.The traditional software features currently used mainly focus on attributes such as the code size and complexity of the software module,while ignoring the rich syntax and semantic information in source code.Thus the prediction models based on these features have limitations.Utilizing the powerful learning ability of artificial neural networks,researchers attempt to extract semantic features from software source code.However,different types of features reflect the nature of software defects from different aspects,and only using traditional features or semantic features to construct a single predictive model restricts the performance.In crossproject defect prediction,there are discrepancies in the data distribution of different projects,which may cause problems such as "under-adaptation" when directly migrating the prediction model trained on the source project to the target project.This article mainly includes the following four parts:(1)In view of the advantages of convolutional auto-encoder in feature extraction,this article combines it with abstract syntax tree of programs and proposes a code semantic feature extraction method based on convolutional auto-encoder.This method is able to obtain rich syntax and semantic information from software source code,which is helpful in enhancing the accuracy of defect prediction.(2)By training individual classifiers in different feature spaces,ensemble learning is utilized to integrate multiple classifiers,and a method for within-project defect prediction is presented based on the ensemble learning,which can decrease the generalization error of prediction model.(3)Considering the distribution discrepancy of semantic features between the source project and the target project,a cross-project defect prediction method is proposed based on a transferable convolutional auto-encoder.By domain adaptation,this method minimizes the distance of Maximum Mean Difference between different projects for matching data distributions,and improves the performance of cross-project defect prediction.(4)A software defect prediction system is designed and implemented by consolidating the software defect prediction process.The system can provide services related to defect prediction to help users better guarantee software reliability.
Keywords/Search Tags:Software Defect Prediction, Convolutional Auto-Encoder, Machine Learning, Ensemble Learning, Maximum Mean Discrepancy
PDF Full Text Request
Related items