| The modern software system has been one of the most indispensable and the most complex artificial systems,and the complexity and size of software system continuously increase along with its evolution.What follows is that inevitable faults will exist throughout the life cycle of software,which presses for the development of automated software fault localization techniques to facilitate software debugging and repairing.While existing approaches only take the execution coverage of software entities during the runtime or testing process into account and ignore the analysis and exploitation of the interactive correlations among those entities.In this thesis,efforts are made to conduct method level interaction analysis for the improvement of Spectrum-Based Fault Localization(SBFL).Base on the complex network theory,the dynamic software network representation models are constructed to characterize method correlations.Furtherly,this work analyzes and mines the controlling relations,fault relevance,fault propagation,and fault similarity among method nodes to develop generic approaches of boosing SBFL.The main contents and contributions are as follows:Firstly,the thesis specifically analyzes the background,the significance of the research on the approach of automated software fault localization based on the dynamic software network and explains the feasibility from the view of the dynamic behaviors of software entities and dynamic behavioral correlations among those entities.By reviewing current researches,it compares various software fault localization techniques,summarizes solutions,strengths,and weaknesses of existing approaches,and particularly concludes the SpectrumBased Fault Localization.Meanwhile,this thesis collects the existing approaches of analyzing software dynamic behaviors,gives the advantages of the complex software network model in characterizing dynamic behavioral correlations of software entities.The summary and comparison expose the current problems and challenges,based on which a new way to solve the problem of fault localization appears.Secondly,to reveal the importance of analyzing and measuring interactive correlations of software methods,this thesis conducts a software method correlation analysis based on dynamic controlling behavior mining from execution traces,which characterizes the semantic behavior patterns of methods during software dynamic execution.The software semantic network starts from the point of analyzing dynamic control relations between methods,recognizes and extracts dynamic control patterns.Based on the complex network theory,this semantic network acts as a multi-label network representation model,of which the nodes are software methods and the links express dynamic control relations.The labels signify not only the semantic control relations but also the probabilities of each control pattern.A statistical analysis of real-world software proves the complexity and importance of the interactive correlation between methods.Thirdly,aiming at the feature construction process of the test spectrum in SBFL,this thesis proposes a novel test spectrum calculation approach named Network Aggregated Spectrum(NAS)adopting software fault relevance,which improves the feature construction process of the test spectrum by aggregating the influence from correlated entities.The NAS operates over the constructed Software Spectrum Dependence Network representation model,which measures the fault relevance among methods.By analyzing the fault relevance in the test spectrum aspect,the accuracy of the feature factors in the test spectrum can be improved,which makes it possible for the NAS to improve the effectiveness of fault localization.Fourthly,for the key phase of applying the fault locator in SBFL,this thesis designs two improved fault localization approaches,including the PageRank-based fault localization and the Fault Centrality-based fault localization,both of which hold the heuristic that the method correlated with more high-suspicious methods is more likely to be fault.The PageRank-based approach intents to analyze the fault influence propagation by constructing the software Fault Influence Network(FIN).The FIN initializes the weights of method nodes using a specific raw SBFL fault locator and applies the PageRank link analysis algorithm to conduct global fault influence analysis and improve the estimation of method suspiciousness.While the Fault Centrality-based approach derives from the network centrality of the complex network and is a local fault influence analysis approach.By constructing a Software Fault Network characterizing both the initial suspiciousness of method and the fault influence coefficient simultaneously,the Fault Centrality suspiciousness measurement is proposed to improve the suspiciousness calculation through the synthetical consideration of the fault suspiciousness of correlated methods.Finally,this thesis conducts a comprehensive application analysis of software fault localization based on the dynamic software network representation.It is a two-stage improved fault localization application,which combines the test spectrum level improvement and the fault locator level improvement.That is,the NAS is taken as the input of the PageRank-based fault locator and the Fault Centrality-based fault locator separately.The two-stage improvement not only is aimed to achieve better performance but also examines the effectiveness and necessary of conducting two networked improvement in both test spectrum and fault locator.The improved software fault localization approaches based on the dynamic software network representation depend on the traditional Spectrum-Based Fault localization and are common improvements for these SBFL approaches,which are adequate for almost all existing SBFL.Theoretically,our approaches have no special requirements for programming language,software type and scale.Due to the limits of existing software dataset,experiments are conducted on different types and scales of software fault dataset written in Java,and exminations are executed with 33 raw SBFL fault locators.Results show that the proposed approaches possess a certain of effectiveness and scalability and prove the signaficance of interactive correlation analysis to fault localization.And the dynamic software network representation model can provide new methodology and posibility for software fault localization. |