Font Size: a A A

Fault Localization Based On Deep Learning And Multiple Features

Posted on:2022-09-21Degree:MasterType:Thesis
Country:ChinaCandidate:C WangFull Text:PDF
GTID:2518306533979729Subject:Software engineering
Abstract/Summary:PDF Full Text Request
In recent years,the rapid development of the global software industry not only brings convenience to our digital life,but also brings great challenges to the maintenance of software quality.Fault localization is considered to be one of the most tedious,costly and critical steps in software debugging.Due to the increase of software complexity,people have a great interest in studying advanced fault localization technique which can help developers locate software faults quickly and accurately.Up to now,researchers have proposed dozens of fault localization techniques,but limited by a variety of factors,the performance of these techniques in the actual fault localization process still needs to be improved.Therefore,it is still of great significance to explore more effective fault localization methods so as to ensure the quality of software.(1)We makes an empirical research and evaluation on some mainstream fault localization techniques.Most of the previous studies only focus on a certain kind of fault localization technique,and generally use artificial faults as the benchmark of the experiment.This approach not only ignores the valuable information provided by other fault localization techniques,but also does not fully take into account the potential differences between artificial faults and real faults.In order to solve this problem,we makes an empirical study on the fault localization techniques based on spectrum,mutation,dynamic-slicing and information-retrieval on the real faults database defects4 j,and analyzes the relationship between techniques.The results show that spectrum-based and mutation-based techniques are the two most effective independent fault localization techniques at present.In addition,there is often a weak correlation between different techniques,which can improve the effectiveness of fault localization technique on the premise of choosing a suitable combination method.(2)We propose a fault localization method based on deep learning and multiple features.The success of deep learning in other fields has proved its strong data learning ability,and researchers in the field of software engineering have also begun to explore the use of deep learning technique to solve traditional software engineering problems.However,at present,there are few researches on applying it to the field of fault localization,and most of the existing work only focuses on modeling and learning for a certain kind of information.We construct the set of fault localization features by collecting the information of the program itself and the fault-diagnose information obtained by four kinds of fault localization techniques.At the same time,five deep learning models are constructed,including basic multi-layer perceptron,recurrent neural network and convolution neural network with corresponding improved structures.Finally,we use feature sets to train the model and predict the location of software faults.The experimental results show that deep learning is an effective method for fault localization by combining multi-dimensional features.Among the 835 faults,the bi-directional recurrent neural network with long short-term memory units can locate 367 faults in the first rank in the method granularity,which is significantly better than the independent fault localization technique,and better than most fault localization techniques based on learning-to-rank.(3)Finally,on the basis of the above research work,we design and implements a fault localization assistant tool DL&MF-FL based on deep learning and multiple features.The tool simplifies the implementation process of several fault localization techniques,and provides a graphical user interface for data processing and deep model training.Assist in fault localization by providing developers with a descending list of suspicious values of program elements predicted by the trained model.There are 22 pictures,15 tables and 88 references in this thesis.
Keywords/Search Tags:software debugging, fault localization, deep learning, multiple features
PDF Full Text Request
Related items