Font Size: a A A

An Automatic Bug Triage Approach Based On Deep Learning

Posted on:2019-08-22Degree:MasterType:Thesis
Country:ChinaCandidate:H Z SongFull Text:PDF
GTID:2428330545999747Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Bug triage is a process that a bug triager assigns a bug report to the most suitable software developer to fix it quickly.Only the experienced developers can be competent to this task.However,this manual assignment method consumes a large amount of precious time and has the proble of low accuracy.Therefore,how to triage bug reports automatically and efficiently to reduce manpower and time costs becomes a research hotspot in software maintenance.A typical approach is to convert the problem of bug triage into text classification.Currently,text classification models used for automatic bug triage methods are built based on the bag of word model and machine learning algorithms,such as Naive Bayes,C4.5,and SVM.A few flaws exist in the text classification models mentioned above.The text representation based on the bag of word method or its deformations always ignores the information of text order.However,adding the information of word order will result in a sparse matrix for text representation,which is challenging to train machine learning models in a way with high accuracy.To some extent,using machine learning models,such as SVM,can obtain a better accuracy,but it often depends on a large number of artificial features,which consumes a huge of time and manpower.Aiming at the above problems,we propose an automatic bug triage method based on deep learning.Our method uses the word vector model that is popular in natural language processing,instead of using the bag of word model for text representation,.The word vector model not only captures the information of textual word order but also contains a lot of grammatical and semantic information.More importantly,its text representation is no longer a substantial sparse matrix.Also,we do not use machine learning models for triaging bug reports and focus on deep learning models used in text categorization.The most significant advantage of deep learning is that it can find and combine textual features automatically,which saves a large amount of time and manpower for bug triage.We then propose three bug triage models based on convolutional neural networks,S_CNN,M_CNN,and I_CNN.Moreover,we conducted some experiments on the two large-scale datasets of the open-source software Eclipse and Mozilla.The results show that,compared with the SVM model in machine learning and the recursive neural network method,the proposed method outperforms the benchmark methods in the average accuracy,which proves the effectiveness of the three models.The current work is still not mature,and in the future,there will undoubtedly be more and more deep learning models(such as the Transformer model and the GAN model)introduced into the bug triage domain,to make the automatic assignment of bug reports more accurate and faster.
Keywords/Search Tags:Open Source software, bug triage, deep learning, convolutional neural network
PDF Full Text Request
Related items