Font Size: a A A

Evolution-Directed Failure Diagnosis

Posted on:2019-05-26Degree:MasterType:Thesis
Country:ChinaCandidate:S Q ChiFull Text:PDF
GTID:2428330611993522Subject:Software engineering
Abstract/Summary:PDF Full Text Request
As the complexity and scale of software increases,the quantity of software bugs is growing at a startling rate.Log messages are widely used in failure diagnosis as important evidences of system execution.Nowadays,log-based failure diagnosis can be divided into two classes,rule-based methods and execution-path-based methods.Rule-based methods are limited by the inaccuracy of rules;execution-path-based methods are precise in execution traces,while limited by path explosion in large-scale software systems.According to above,we study the relationship between logs and patches of history bugs,and we design and implement a practical tool Not Only Log for bug diagnosis,which is used to extract relationship from history logs and patches,and use extracted relationships to prune paths which are reconstructed form run-time logs.Not Only Log help failure diagnosis by solving path explosion in execution-based failure diagnosis.The contribution of Not Only Log are listed in the following paragraphs:1.We study the evolution history of seven large-scale software systems,including Maria DB,Squid,CUBRID,Httpd,Open Stack,Open SSH and Nginx.We find that 80% of similar bugs have similar patches,and 2)70% of faulty code is found to lie near the code where the first failure message is printed.2.We design and implement Not Only Log,an execution paths reconstructing and pruning tool.Not Only Log extract relationships from system logs and patches,and prune the paths which are constructed based on system logs.3.Not Only Log reproduce run-time logs of system failures,which can reproduce messages for more than 65% bugs,and verify the influence of log reproduction to relationship mining.We compare the Sher Log and Not Only Log,and we find that Not Only Log can reduce 86.9% of the paths of Sher Log.We also fix the problems in the evaluation of Not Only Log,and we improve the usability of Not Only Log by improving the precision of pruning paths to more than 97%.
Keywords/Search Tags:Failure diagnosis, Software evolution, Execution paths
PDF Full Text Request
Related items