Litcius/Paper detail

Deep Learning for Software Defect Prediction

Safa Omri, Carsten Sinz

202056 citationsDOI

Abstract

Software fault prediction is an important and beneficial practice for improving software quality and reliability. The ability to predict which components in a large software system are most likely to contain the largest numbers of faults in the next release helps to better manage projects, including early estimation of possible release delays, and affordably guide corrective actions to improve the quality of the software. However, developing robust fault prediction models is a challenging task and many techniques have been proposed in the literature. Traditional software fault prediction studies mainly focus on manually designing features (e.g. complexity metrics), which are input into machine learning classifiers to identify defective code. However, these features often fail to capture the semantic and structural information of programs. Such information is needed for building accurate fault prediction models. In this survey, we discuss various approaches in fault prediction, also explaining how in recent studies deep learning algorithms for fault prediction help to bridge the gap between programs' semantics and fault prediction features and make accurate predictions.

Topics & Concepts

Computer scienceSoftware qualityMachine learningSoftwareSoftware bugFault (geology)Software fault toleranceArtificial intelligenceSoftware metricTask (project management)Bridge (graph theory)Software constructionPredictive modellingQuality (philosophy)Semantics (computer science)Software engineeringSoftware systemSoftware developmentEngineeringProgramming languageSystems engineeringInternal medicinePhilosophyEpistemologyMedicineSeismologyGeologySoftware Engineering ResearchSoftware Reliability and Analysis ResearchSoftware System Performance and Reliability
Deep Learning for Software Defect Prediction | Litcius