Font Size: a A A

Design And Implementation Of Software Fault Diagnosis System Based On Dynamic Slicing And Association Rules

Posted on:2017-05-01Degree:MasterType:Thesis
Country:ChinaCandidate:D ChenFull Text:PDF
GTID:2348330503972500Subject:Computer technology
Abstract/Summary:PDF Full Text Request
With the increasing complexity of software, the possibility of the occurrence of software failure is increasing. Therefore, how to locate the fault quickly and effectively is a significant research question after the occurrence of software failure.Considering the low efficiency of traditional fault location method, a software fault diagnosis system is designed and implemented, which can diagnose the fault of Java program that contains single fault. Based on dynamic slicing and association rules, a dynamic slicing algorithm is designed to reduce the program scale which need check, and an association rules algorithm is designed to sort the statement which need check, so as to improve the efficiency of the fault location. The data acquisition, dynamic slicing generation, dynamic slicing post-processing, association rules analysis and fault report generation modules are consisted by the system.In data acquisition module, the source program is normalized firstly, and then analysis results of definition and using and static dependency are obtained with Java compiler optimization framework Soot. In dynamic slicing module, source program is executed with test cases firstly, and then the execution path and the execution result are obtained with Java debug interface JDI at the same time, and then dynamic slicing algorithm is adopted to generate dynamic slicing of all instances in execution path according to the analysis results of definition and using and static dependency, finally dynamic slicing result set are generated according to the slicing criterion. In dynamic slicing post-processing module, firstly the covering information of dynamic slicing result set is counted, and then coverage vector matrix is construct combined with the execution results. In association rule analysis module, the association rule algorithm is adopted to calculate the suspicious degree of the statements in the program firstly, and then suspicious degree matrix is constructed combined with the coverage vector matrix. In fault report generation module, the fault report is generated, which contains program statements with suspicious degree in descending order, and the work process of software fault diagnosis is finished.Experiments were carried out on the test data set Siemens Suite, and compared with the traditional software fault location method such as Tarantula, Jaccard and Ochiai. The experimental results show that the method based on dynamic slicing and association rules can improve the efficiency of fault location.
Keywords/Search Tags:Software fault diagnosis, Software fault location, Dynamic slicing, Association rules, Suspicious degree
PDF Full Text Request
Related items