Skip to Main Content
Program debugging is an important process to improve the quality of software. Runtime exception can occur often and can be difficult to debug. In this paper, we present a new approach for locating faults that cause runtime exceptions in Java programs due to error assignment of a value that finally leads to the exception. Our approach first uses program slicing to reduce the search scope, then performs a backward data flow analysis, starting from the point where the exception occurred, and then uses stack trace information to guide the analysis to determine the source statement that is responsible for the runtime exception. The paper also presents a case study to demonstrate that the method is available. The approach not only resolves partly the imprecise of static techniques, but also reduces partly the heavy performance overhead of dynamic techniques.