Font Size: a A A

Research On Fault Localization Based On Context

Posted on:2021-04-09Degree:MasterType:Thesis
Country:ChinaCandidate:X ZhangFull Text:PDF
GTID:2428330626458743Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the development of information society,computer software has gradually penetrated into every corner of human daily life.However,software errors also affect the quality of software greatly.The combination of software testing and program debugging can locate and eliminate software errors effectively.However,fault localization has always been a time-consuming and laborious activity,and it is difficult for developers to find errors quickly and accurately.Therefore,how to improve the accuracy and effectiveness of automatic fault localization approaches has important significance to real life and software engineering research.In recent years,researchers at home and abroad have done a lot of researches about this topic,and they put forward kinds of automatic fault localization approaches,but there are still some shortcomings,mainly reflected in:(1)the lack of analysis of suspicious sentence context information.Most techniques ignore the important information such as the relationship between the internal variables of the program and the semantic relationship between the suspicious statements.Thus they calculate the suspiciousness of the program entity separately;(2)the lack of context information that can help understand failure execution and analyze the propagation.Many techniques ignore the importance of understanding failure and failure propagation,only report "what caused the failure",but leave "why caused the failure".In view of the above problems,the main research work of this paper is as follows:(1)We propose a novel fault localization method based on path analysis and information entropy.This approach first collects the execution trace of program and the execution results of test case,at the same time,constructs the graphic structure of the source program by static analysis and makes use of it for data dependency analysis;then analyzes the execution path of the program according to the execution trace and data dependency analysis results,at the same time,redesigns the formula of suspiciousness by the theory of information entropy,calculates the information entropy of different random events and the suspiciousness of statements,obtain the report of suspicious statements;finally,examines the statements according to the order of suspiciousness,locate and repair the fault.Experimental results show that this method can improve the accuracy and efficiency of fault localization.(2)We propose a novel fault localization method based on context propagation.This approach first collects the execution trace of program and the execution results of test case;secondly,constructs the program dependency analysis model and calculates the execution state probability and conditional dependency probability of each node according to the test case execution information,at the same time,calculates the program dependency probability and suspiciousness of the statement corresponding to the node;then,we traverses backward from the program exit of the program,use the statement execution state and relevant context information obtained from the program dependency analysis model to understand the generation and propagation of failure;finally,update the suspiciousness of statements and locate the faults.Experimental results show that this method can not only improve the accuracy of fault localization,but also use context information to understand failure generation and analysis error propagation better.(3)We design and implement a fault localization system based on context.This system provides a visual interface for users to collect and process test case execution information and analyze the final results of fault localization.
Keywords/Search Tags:fault localization, context information, program dependency analysis, information entropy, fault understanding
PDF Full Text Request
Related items