Font Size: a A A

Research On Fault Localization Method For Test Case Execution Path Analysis

Posted on:2019-08-31Degree:MasterType:Thesis
Country:ChinaCandidate:X CaoFull Text:PDF
GTID:2428330566484153Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Debugging large software often requires a lot of manpower and time,so automated software fault location method becomes a better choice.The existing fault localization methods are mostly based on the coverage information of the test cases,yet the sequence information does not be fully considered during testing.On the other hand,faults in multi-thread programs are difficult to locate,due to the information of test case is hard to collect.To solve the above problems,we conducted two researches based on the execution path analysis of test cases.First,aiming at the problem of incomplete description of test execution information for fault localization,the control flow graph is used to analyze the fault program and then the basic blocks are obtained;A group of stub functions are inserted into the source code to obtain the execution path of each test case;Then the execution path is encoded into sequence;Construct a recurrent neural network with multi-input and single-output,the encode sequence is used as the input and the test result is used as the output to train the network;Input a set of virtual test cases into the trained network to predict the suspiciousness of each basic block,finally the suspiciousness rank of the basic blocks is obtained.Secondly,for the problem that the test information of multi-thread program is difficult to collect,the bounded model checking technology is used to verify the multi-thread program,and the counterexamples which cause the failure of the program are obtained;the execution information such as the program inputs,execution order of threads and the context switch between threads are included in the counterexamples;through a program framework,the multi-thread program is converted into an equivalent sequential one;Finally,the input parameters together with the execution order of the thread are input to the converted program,and the converted program is checked by bounded model checking,after that some counterexamples are get which are serve as the results of fault localization.For the above researches,fault localization experiments for single-thread program and multi-thread program were designed based on the Siemens test suite and SCTBench data set respectively.The experimental results have shown the effectiveness of the proposed methods.
Keywords/Search Tags:Fault Localization, Execution Path, Recurrent Neural Networks, Bounded Model Checking
PDF Full Text Request
Related items