NUMFL: Localizing Faults in Numerical Software Using a Value-Based Causal Model
Zhuofu Bai, Gang Shu, Andy Podgurski · 2015
We present NUMFL, a value-based causal inference model for localizing faults in numerical software. NUMFL combines causal and statistical analyses to characterize the causal effects of individual numerical expressions on failures. Given value-profiles for an expression's variables, NUMFL uses generalized propensity scores (GPSs) to reduce confounding bias caused by evaluation of other, faulty expressions. It estimates the average failure-causing effect of an expression using quadratic regression models fit within GPS subclasses. We report on an evaluation of NUMFL with components from four Java numerical libraries, in which it was compared to five alternative statistical fault localization metrics. The results indicate that NUMFL is the most effective technique overall.