Effective and Efficient Localization of Multiple Faults Using Value Replacement
The authors previously presented a fault localization technique called Value Replacement that repeatedly alters the state of an executing program to locate a faulty statement. The technique searches for program statements involving values that can be altered during runtime to cause the incorrect output of a failing run to become correct. They showed that highly effective fault localization results could be achieved by the technique on programs containing single faults. In the current work, they generalize Value Replacement so that it can also perform effectively in the presence of multiple faults. They improve scalability by describing two techniques that significantly improve the efficiency of Value Replacement.