An Approach for Localization of Pointer Faults in Complex Data Structures

The traditional fault localization algorithms mainly focuses on the dynamic or static analysis of the program to locate the faults in the program. In C language, data structure and pointer are widely used, resulting in the complexity of program fault localization. In this paper, a structured debugging method based on sub-graph matching is proposed, which can dynamically describe the graph relationship between the structure points in the program, and dynamically generate the graph pattern based on pointer related code to find the minimum faulty program segment. A sub-graph matching method that has been proposed can already locate the fault of the program which data structure is static, in fact, the data structure in the program can generally be modified via pointers, so it is not applicable to the general situation. By modeling both program state and pointer operations, it can locate related semantic faults accurately. The result indicates that our method can significantly narrow down the segments of source code which would be checked and accelerate the software debugging process.