论文部分内容阅读
Fault localization known as software debugging is a process of finding the locations of faults in programs.In debugging, finding the root cause of a failure is one of the most important complicated processes.It discovers the reasons of strange behavior of faulty programs by recognizing the location of the bugs.For that reason to automatically determine the location of fault in the software, many techniques have been developed and utilized, such as statistics based technique, machine learning based technique, Program-Spectrum based technique, Slice based technique, Program State Based technique, and others. In this thesis, we present algorithms for constructing the probabilistic program dependence graph (PPDG) and implementing fault localization techniques.PPDG is an extension of program dependence graph (PDG) with the estimation of statistical dependences between nodes states, which are computed results from the test set.The main objectives and work methodology of PPDG is to scan the internal behavior of the program project in order to locate the location of certain bugs.We used RankCP algorithm to discovering the fault in the program.It uses the conditional probability over PPDG to rank the nodes from most suspicious to least suspicious.In the proposed work, we conducted our fault localization techniques on the object oriented programming language (OOP).The structure of PPDG can be improved by adopting the use of PDG, which can be attained by using the Control Flow Graph (CFG), structurally changing the PDG by specifying states at nodes which result is a transformed PDG, used Learn-param approach to estimate the parameters of PPDG from the set of executed data.Used RankCP algorithm for fault localization of PPDG, which is generate based on the execution data and transformed PDG.Our experimental result shows that PPDG is an effective model for representing program behaviors particularly that associated with faults.