  In a buggy configurable system, configuration-dependent bugs cause the
failures in only certain configurations due to unexpected interactions among
features. Manually localizing configuration-dependent faults in configurable
systems could be highly time-consuming due to their complexity. However, the
cause of configuration-dependent bugs is not considered by existing automated
fault localization techniques, which are designed to localize bugs in
non-configurable code. Thus, their capacity for efficient
configuration-dependent localization is limited. In this work, we propose CoFL,
a novel approach to localize configuration-dependent bugs by identifying and
analyzing suspicious feature interactions that potentially cause the failures
in buggy configurable systems. We evaluated the efficiency of CoFL in fault
localization of artificial configuration-dependent faults in a
highly-configurable system. We found that CoFL significantly improves the
baseline spectrum-based approaches. With CoFL, on average, the correctness in
ranking the buggy statements increases more than 7 times, and the search space
is significantly narrowed down, about 15 times.
