Font Size: a A A

Research And Implementation Of Bug Localization Method Based On Deep Learning

Posted on:2020-07-23Degree:MasterType:Thesis
Country:ChinaCandidate:L SunFull Text:PDF
GTID:2428330575957134Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Given a bug report,developers often need to reproduce bug and perform code review to find the cause,which can be cumbersome and time-consuming.Bug localization technique can help developers automatically locate potential buggy files through the relevance ranking.Information retrieval and deep learning approaches have been applied in bug localization by extracting lexical features in bug reports and syntactic features in source code files,though they fail to utilize the structural and semantic information of source code files and have a space to improve accuracy and performance.In this thesis,we propose CAST which exploits deep learning and program structures to locate potential buggy files automatically and effectively.Specifically,CAST extracts both lexical semantics in bug reports(e.g.,words)and source files(e.g.,method names)and program semantics in source files(e.g.,abstract syntax tree,AST).Moreover,CAST enhances the tree-based convolutional neural network(TBCNN)model with customized ASTs,which 1)distinguish between user-defined methods and system-defined ones to reflect their contributions leading to defects,and 2)group the nodes with similar semantics to simplify the amount of learned entities.Cast not only makes full use of the important structural and semantic information in source files,but also improves the accuracy and performance.In this thesis,we conduct two sets of experiments on four widely-used software projects Aspect J,SWT,JDT and Tomcat.In the first group,we compare CAST with four state-of-the-art methods.The experimental results show that CAST significantly outperforms the state-of-the-art methods in locating the buggy source files,which can identify bug reports that are difficult to identify by other methods.In the second group,we evaluate the effectiveness of customized AST by ablation experiments.Experiments show that customized AST can locate bug files more accurately than original AST,and TBCNN with customized AST is a good combination for automatic bug localization,and word embedding contributes to the improvement of CAST performance,but the contribution of customized AST is more than word embedding.
Keywords/Search Tags:bug localization, convolutional neural network, abstract syntax tree, method invocation
PDF Full Text Request
Related items