TY - GEN
T1 - The Theory of Composite Faults
AU - Gopinath, Rahul
AU - Jensen, Carlos
AU - Groce, Alex
N1 - Publisher Copyright:
© 2017 IEEE.
PY - 2017/5/15
Y1 - 2017/5/15
N2 - Fault masking happens when the effect of one fault serves to mask that of another fault for particular test inputs. The coupling effect is relied upon by testing practitioners to ensure that fault masking is rare. It states that complex faults are coupled to simple faults in such a way that a test data set that detects all simple faults in a program will detect a high percentage of the complex faults. While this effect has been empirically evaluated, our theoretical understanding of the coupling effect is as yet incomplete. Wah proposed a theory of the coupling effect on finite bijective (or near bijective) functions with the same domain and co-domain and assuming a uniform distribution for candidate functions. This model, however, was criticized as being too simple to model real systems, as it did not account for differing domain and co-domain in real programs, or for the syntactic neighborhood. We propose a new theory of fault coupling for general functions (with certain constraints). We show that there are two kinds of fault interactions, of which only the weak interaction can be modeled by the theory of the coupling effect. The strong interaction can produce faults that are semantically different from the original faults. These faults should hence be considered as independent atomic faults. Our analysis shows that the theory holds even when the effect of the syntactic neighborhood of the program is considered. We analyze numerous real-world programs with real faults to validate our hypothesis.
AB - Fault masking happens when the effect of one fault serves to mask that of another fault for particular test inputs. The coupling effect is relied upon by testing practitioners to ensure that fault masking is rare. It states that complex faults are coupled to simple faults in such a way that a test data set that detects all simple faults in a program will detect a high percentage of the complex faults. While this effect has been empirically evaluated, our theoretical understanding of the coupling effect is as yet incomplete. Wah proposed a theory of the coupling effect on finite bijective (or near bijective) functions with the same domain and co-domain and assuming a uniform distribution for candidate functions. This model, however, was criticized as being too simple to model real systems, as it did not account for differing domain and co-domain in real programs, or for the syntactic neighborhood. We propose a new theory of fault coupling for general functions (with certain constraints). We show that there are two kinds of fault interactions, of which only the weak interaction can be modeled by the theory of the coupling effect. The strong interaction can produce faults that are semantically different from the original faults. These faults should hence be considered as independent atomic faults. Our analysis shows that the theory holds even when the effect of the syntactic neighborhood of the program is considered. We analyze numerous real-world programs with real faults to validate our hypothesis.
UR - http://www.scopus.com/inward/record.url?scp=85018416963&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85018416963&partnerID=8YFLogxK
U2 - 10.1109/ICST.2017.12
DO - 10.1109/ICST.2017.12
M3 - Conference contribution
AN - SCOPUS:85018416963
T3 - Proceedings - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017
SP - 47
EP - 57
BT - Proceedings - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017
Y2 - 13 March 2017 through 17 March 2017
ER -