Litcius/Paper detail

MPT‐embedding: An unsupervised representation learning of code for software defect prediction

Ke Shi, Yang Lu, Guangliang Liu, Zhenchun Wei, Jingfei Chang

2020Journal of Software Evolution and Process25 citationsDOI

Abstract

Abstract Software project defect prediction can help developers allocate debugging resources. Existing software defect prediction models are usually based on machine learning methods, especially deep learning. Deep learning‐based methods tend to build end‐to‐end models that directly use source code‐based abstract syntax trees (ASTs) as input. They do not pay enough attention to the front‐end data representation. In this paper, we propose a new framework to represent source code called multiperspective tree embedding (MPT‐embedding), which is an unsupervised representation learning method. MPT‐embedding parses the nodes of ASTs from multiple perspectives and encodes the structural information of a tree into a vector sequence. Experiments on both cross‐project defect prediction (CPDP) and within‐project defect prediction (WPDP) show that, on average, MPT‐embedding provides improvements over the state‐of‐the‐art method.

Topics & Concepts

Computer scienceEmbeddingAbstract syntaxSource codeArtificial intelligenceRepresentation (politics)Machine learningDebuggingSoftwareDeep learningTree (set theory)Code (set theory)Feature learningSyntaxProgramming languageNatural language processingLawSet (abstract data type)Political scienceMathematical analysisMathematicsPoliticsSoftware Engineering ResearchSoftware System Performance and ReliabilitySoftware Reliability and Analysis Research