Abstract:After a failed test is encountered and the error trace is generated, a significant amount of effort is often required for programmers to manually examine the program code and localize the failure's root cause. In this paper, we propose a fault localization method based on program execution trace. This method computes a set of possible error statements based on a combination of weakest pre-condition computation through program's reverse execution. All possible error statements are organized in a fault localization tree to help developer identify the root cause. Our experiments on SIR datasets demonstrate that our method can not only efficiently compute the possible causes, but also provide sufficient information to help programmers quickly locate the root cause.