Abstract-While a large body of research is dedicated to testing for feature interactions in configurable software, there has been little work that examines what constitutes such a fault at the code level. In consequence, we do not know how prevalent real interaction faults are in practice, what a typical interaction fault looks like in code, how to seed interaction faults, or whether current interaction testing techniques are effective at finding the faults they aim to detect. We make a first step in this direction, by deriving a whitebox criterion for an interaction fault. Armed with this criterion, we perform an exploratory study on hundreds of faults from the field in two open source systems. We find that only three of the 28 which appear to be interaction faults are in fact due to features' interactions. We investigate the remaining 25 and find that, although they could have been detected without interaction testing, varying the system configuration amplifies the fault-finding power of a test suite, making these faults easier to expose. Thus, we characterize the benefits of interaction testing in regards to both interaction and non-interaction faults. We end with a discussion of several mutations that can be used to mimic interaction faults based on the faults we see in practice.
Garvin et al. REF presented an exploratory study on two open-source systems with publicly available bug databases to understand the nature of real-world interaction faults and to understand the types of mutations that would mimic these faults.
Feature Interaction Faults Revisited: An Exploratory Study
2011 IEEE 22nd International Symposium on Software Reliability Engineering
2011 IEEE 22nd International Symposium on Software Reliability Engineering
Computer Science