Font Size: a A A

Research On Method Of Fault Localization In Software With Key Nodes And Suspiciousness

Posted on:2018-03-21Degree:DoctorType:Dissertation
Country:ChinaCandidate:W C JiangFull Text:PDF
GTID:1318330533463158Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the rapid increase in functional requirements of software and the sharp increase in the data volume to be processed,software size is increasingly large and software structure becomes gradually complex,along with the development of software development technology.As a result,the complexity of fault is increased and damage is increasingly serious.Nowadays,it is a challenge to improve the efficiency of fault localization in large-scale software,to make software fault localization targeted,to locate the statement fault efficiently and effectively,and to improve the software reliability.This thesis focuses on the solutions to above problems.The key function nodes mining algorithm for fault localization in large-scale and complex software is studied.And fault of statement granularity localization algorithms in software especially key nodes of software are designed based on suspiciousness.With the research,the statement fault can finally be located effectively.First of all,aiming at the problem of the low efficiency of large-scale software fault localization and the upgraded version of the same software,a key nodes mining algorithm based on complex network for fault localization in large-scale and complex software is proposed.With complex network,the weighted directed software execution complex network is built.The complicated relations of function entities in software dynamical execution are analyzed,and local and universal fault infection and propagation of software network is obtained.The degree of node being infected,the degree of node infecting other nodes and the degree of node infected by itself are utilized,a measure of fault infection capacity FIC is proposed for nodes in software execution complex network,and the fault infection of the node to the network can be measured.Then the complex network based key nodes mining algorithm is designed to identify influential nodes for fault infection and propagation in the network.So the effectiveness of fault localization can be improved in large-scale software,especially for the upgraded versions.Secondly,execution spectra-based suspiciousness metrics and software fault of statement granularity localization algorithm are proposed to solve the ineffectiveness of failed execution spectrum-based metrics without failed test cases.Through the analysis on the decisive and secondary factors of suspiciousness,two suspiciousness computation metrics FP3 and FP4 are proposed which are based on the decisive factor of failed execution spectrum and the secondary factor of successful execution spectrum.On the basis of our proposed suspiciousness metrics,a software fault localization algorithm SMFL is designed to apply the proposed metrics to obtain statement suspiciousness ranking.The statement examination rate is decreased,and the ineffectiveness of failed execution spectrum-based metrics is solved.Thirdly,weighted suspiciousness metrics are proposed based on execution spectra and execution trace self-information,and a fault localization algorithm is designed according to fault localization of low effectiveness and unstable performance with different types and scale of test suite.To reduce the influence of failed execution spectrum on the suspiciousness,three new suspiciousness metrics are proposed based on failed execution spectrum and successful non-execution spectrum.Furthermore,with proposed conception of execution trace self-information,information quantity about each type of execution of statement is obtained,which is used to design the weights to weight each fraction in the above metrics,and then three weighted suspiciousness metrics are proposed correspondingly.Then,a suspiciousness metric-based statement fault localization algorithm is designed.The effectiveness and stability of performance of the fault localization algorithm is improved with different types and scale of test suite.Fourthly,a fault localization algorithm is proposed based on suspiciousness and failed execution dependence information,and the problem of fault cannot be localized without failed executions coverage fault statement is solved.A spectra fraction-based suspiciousness computation method ENS is designed,a failed execution spectrum-based fraction and a successful non-execution spectrum-based fraction are constructed respectively to solve the ineffectiveness of suspiciousness metric.With the proposed concept of execution trace self-information,a weighted suspiciousness computation method ENS? is proposed to improve the adaptivity of metric.For case that fault cannot be localized without failed executions coverage fault statement,dynamic execution dependence information of failed executions is extracted,and then a comprehensive fault localization algorithm SFD_CFL is designed on the basis of suspiciousness metric and failed execution dependence information.The comprehensive suspiciousness ranking of fault statement is increased and the effectiveness of fault localization is improved.Finally,a comprehensive fault localization algorithm is proposed based on suspiciousness and execution dependence information,and a passed test case reduction algorithm PTRed is presented to solve the case that there are large passed executions without failed execution.Suspiciousness metrics are proposed based on spectra multivariate fractions,then the complex fractions are dynamically weighted and locally weighted suspiciousness metrics are designed based on spectra multivariate fractions and execution trace self-information.For the case there is no failed execution,a comprehensive fault localization algorithm SD_CFL is designed on the basis of suspiciousness metric and execution dependence information,and then fault ranking is improved.To reduce ineffective passed test cases for fault localization,a passed test case reduction algorithm PTRed is presented to improve the efficiency of algorithm SD_CFL under the smaller test suite.Experiments are conducted on the real open source software.The feasibility and rationality of key nodes mining algorithm for large-scale and complex software fault localization are analyzed.The effectiveness and performance stability of statement fault localization algorithms are proved.
Keywords/Search Tags:Data mining, software fault localization, key node, fault suspiciousness metric, execution trace self-information, execution dependence information
PDF Full Text Request
Related items