A Systematic Study for Learning-Based Software Defect Prediction. (March 2020) - Cao, Han
Abstract: Software defect refers to the code error in the process of software development, which could cause execution fault under specific conditions, resulting in failure, collapse, and high cost of the target software. Traditional detection techniques for software defect contain static and dynamic analysis, both of which require a great deal of workforce and time. With the development of machine learning and deep learning, software defect prediction has opened a new avenue to circumvent the drawbacks of traditional analysis approaches. Although various learning-based techniques in the prediction field have been developed, there is a lack of systematic summary and classification from the technical point of view. This paper studies the problem from the three aspects: traditional machine learning, deep learning, and hybrid learning. Moreover, the predicted performance is discussed in detail, especially in cross-project and just-in-time, to understand current research status thoroughly. This paper also provides a useful guide for further research, particularly for the potential usage of deep learning in semantic defect prediction.