The Relationship between Software Bug Type and Number of Factors Involved in Failures
Previous studies have defined different types of software bugs based on their complexity and reproducibility. Simple bugs, which involve only direct factors and are often easy to reproduce, have been called 'Bohrbugs', while complex bugs, with at least one indirect factor and generally much more difficult to reproduce, were called Mandelbugs. Locating Mandelbugs in software is often difficult and expensive during the development phase due to their complexity. In this paper we consider the relationship between different types of software bugs and the average t-way interaction involved in triggering them. Analysis suggests that Mandelbugs have a higher interaction strength when triggering their faults. This suggests that both direct and indirect factors play a role in triggering the fault. By using combinatorial testing methods, we can have high assurance of locating Mandelbugs as long as the indirect factors are present at the time of testing.