Abstract
Fault-based testing focuses on detecting faults in a software. Test data is typically generated considering the presence of a single fault at a time, under the assumption of coupling hypothesis. Fault-based testing approach, in particular mutation testing, assumes that the coupling hypothesis holds. According to the hypothesis, a test set that can detect presence of single faults in an implementation, is also likely to detect presence of multiple faults. In this paper it is formally shown that the hypothesis is guaranteed to hold for a large number of logical fault classes.
Similar content being viewed by others
References
Ball T, Rajamani SK (2000) Boolean programs: a model and process for software analysis. Technical Report MSR-TR-2000-14, Microsoft Research, Redmond, WA
Beizer B (1990) Software testing techniques, 2nd edn. Van Nostrand Reinhold Inc., New York
Budd TA, DeMillo RA, Lipton RJ, Sayward FG (1980) Theoretical and empirical studies on using program mutation to test the functional correctness of programs. In: 7th symposium on principles of programming languages, ACM, pp 220–233
Chang J, Richardson DJ, Sankar S (1996) Structural specification-based testing with ADL. In: International symposium on software testing and analysis, pp 62–70
Chen TY, Lau MF (2001) Test case selection strategies based on boolean specifications. Softw Test, Verif Reliab 11(3):165–180
DeMillo RA, Lipton RJ, Sayward FG (1978) Hints on test data selection: help for the practicing programmer. IEEE Comput 11(4):34–41
Gunter E, Peled D (1999) Path exploration tool. In: Cleaveland R (ed) Tools and algorithms for construction and analysis of systems, 5th international conference, TACAS ’99, Lecture Notes in Computer Science, vol 1579. Springer, Berlin Heidelberg New York pp 405–419
Hierons RM (2002) Comparing test sets and criteria in the presence of test hypotheses and fault domains. ACM Trans Softw Eng Methodol 11(4):427–448
Howden WE (1976) Reliability of the path analysis testing strategy. IEEE Trans Softw Eng 2(3):208–215
Institute of Electrical and Electronics Engineers (1990) IEEE standard glossary of software engineering terminology, ANSI/IEEE Std. 610.12. IEEE, New York
Kuhn DR (1999) Fault classes and error detection capability of specification-based testing. ACM Trans Softw Eng Methodol 8(4):411–424
Morell LJ (1990) A theory of fault-based testing. IEEE Trans Softw Eng 16(8):844–857
Offutt AJ (1992) Investigations of the software testing coupling effect. ACM Trans Softw Eng Methodol 1(1):5–20
Offutt AJ, Seaman EJ (1990) Using symbolic execution to aid automatic test data generation. In: 5th annual conference on computer assurance (COMPASS). IEEE Computer Society, pp 12–21
Okun V, Black PE, Yesha Y (2004) Comparison of fault classes in specification-based testing. Inf Softw Technol 46(8):525–533
Paradkar A, Tai KC (1995) Test-generation for boolean expressions. In: 6th international symposium on software reliability engineering (ISSRE). IEEE Computer Society, pp 106–115
Paradkar A, Tai KC, Vouk MA (1996) Automatic test-generation for predicates. IEEE Trans Reliab 45(4):515–530
Tai KC (1996) Theory of fault-based predicate testing for computer programs. IEEE Trans Softw Eng 22(8):552–562
Tsuchiya T, Kikuno T (2002) On fault classes and error detection capability of specification-based testing. ACM Trans Softw Eng Methodol 11(1):58–62
Vouk MA, Tai KC, Paradkar A (1994) Empirical studies of predicate-based software testing. In: 5th international symposium on software reliability engineering. IEEE Computer Society, pp 55–64
Wah KSHT (2003) An analysis of the coupling effect I: single test data. Sci Comput Programming 48:119–161
Weyuker EJ, Goradia T, Singh A (1994) Automatically generating test data from a boolean specification. IEEE Trans Softw Eng 20(5):353–363
Zhu H, Hall PAV, May JHR (1997) Software unit test coverage and adequacy. ACM Comput Surv 29(4):336–427
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kapoor, K. Formal Analysis of Coupling Hypothesis for Logical Faults. Innovations Syst Softw Eng 2, 80–87 (2006). https://doi.org/10.1007/s11334-006-0002-z
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-006-0002-z