Font Size: a A A

Research Of Software Fault Localization Method Based On Software Dynamic Execution Graph Mining

Posted on:2016-08-26Degree:MasterType:Thesis
Country:ChinaCandidate:H F WangFull Text:PDF
GTID:2308330503455122Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the advent of the Internet period, the scale of software gradually increases and the complexity of software development is higher and higher, while the attendant is the problem of software quality and security. Software faults are the highlighted expression of software quality and security. Software faults may lead to serious consequences. Reducing software faults is the key to ensure the software quality in the software development. Efficient software fault localization method can not only reduce the work checked by software developers, but also improve the efficiency of software debugging.In order to enhance the efficiency of fault localization, data mining technologies have been widely used in the field of software fault localization. Maximal frequent subgraph mining algorithm and discriminative maximal feature subgraph mining algorithm are proposed for analyzing software faults in this paper.First, software fault localization framework based on hierarchical instrumentation is designed, and software dynamic execution graph is built. Multi-granularity program instrumentation produces multi-granularity software dynamic execution path. Due to the redundant information in execution paths, software dynamic execution paths can be converted to software dynamic execution graph.Secondly, a software fault localization method based on maximal frequent subgraph mining algorithm is presented in software dynamic execution graph databases. By scanning the graph database once, maximal frequent subgraph hierarchical tree called MFSH-Tree is constructed in maximal frequent subgraph mining algorithm called MFSH-TreeMiner. Based DFS strategy, all maximal frequent subgraphs are mined by traversing MFSH-Tree. All nodes in maximal frequent subgraphs can be regard as suspicious fault feature nodes. AllJaccard is designed to compute suspicious value of feature nodes and generate suspicious feature node sorting table.Then, a software fault localization method based on discriminative maximal feature subgraph mining algorithm is proposed in passed and failed software dynamic execution graph databases. A data structure DBC is designed for storing graph databases in discriminative maximal feature subgraph mining algorithm called DMFG-Miner. And a discriminative feature subgraph tree called DFG-Tree is constructed to mine suspected fault feature node set. For testing suspicious value of feature nodes, AllOchiai is presented to count the probability of feature nodes which contain faults. In turn, faults are found efficiently.Finally, the paper makes experiments about proposed fault localization methods, and do contrast and analysis about the efficiency and precision of software fault localization.
Keywords/Search Tags:Software fault localization, Hierarchical instrumentation, Software dynamic execution graph, Maximal frequent subgraph, Discriminative maximal feature subgraph
PDF Full Text Request
Related items