Litcius/Paper detail

Software defect prediction via LSTM

Jiehan Deng, Lu Lu, Shaojian Qiu

2020IET Software85 citationsDOIOpen Access PDF

Abstract

Software quality plays an important role in the software lifecycle. Traditional software defect prediction approaches mainly focused on using hand‐crafted features to detect defects. However, like human languages, programming languages contain rich semantic and structural information, and the cause of defective code is closely related to its context. Failing to catch this significant information, the performance of traditional approaches is far from satisfactory. In this study, the authors leveraged a long short‐term memory (LSTM) network to automatically learn the semantic and contextual features from the source code. Specifically, they first extract the program's Abstract Syntax Trees (ASTs), which is made up of AST nodes, and then evaluate what and how much information they can preserve for several node types. They traverse the AST of each file and fed them into the LSTM network to automatically the semantic and contextual features of the program, which is then used to determine whether the file is defective. Experimental results on several opensource projects showed that the proposed LSTM method is superior to the state‐of‐the‐art methods.

Topics & Concepts

Computer scienceTraverseContext (archaeology)SoftwareSyntaxProgramming languageSoftware bugArtificial intelligenceCode (set theory)Source codeSoftware qualityNatural language processingSoftware developmentGeographySet (abstract data type)GeodesyPaleontologyBiologySoftware Engineering ResearchSoftware System Performance and ReliabilitySoftware Reliability and Analysis Research
Software defect prediction via LSTM | Litcius