Skip to main content
Log in

Formal Analysis of Coupling Hypothesis for Logical Faults

  • Original Paper
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ball T, Rajamani SK (2000) Boolean programs: a model and process for software analysis. Technical Report MSR-TR-2000-14, Microsoft Research, Redmond, WA

  2. Beizer B (1990) Software testing techniques, 2nd edn. Van Nostrand Reinhold Inc., New York

    Google Scholar 

  3. 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

  4. Chang J, Richardson DJ, Sankar S (1996) Structural specification-based testing with ADL. In: International symposium on software testing and analysis, pp 62–70

  5. Chen TY, Lau MF (2001) Test case selection strategies based on boolean specifications. Softw Test, Verif Reliab 11(3):165–180

    Article  Google Scholar 

  6. DeMillo RA, Lipton RJ, Sayward FG (1978) Hints on test data selection: help for the practicing programmer. IEEE Comput 11(4):34–41

    Google Scholar 

  7. 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

  8. 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

    Article  Google Scholar 

  9. Howden WE (1976) Reliability of the path analysis testing strategy. IEEE Trans Softw Eng 2(3):208–215

    Article  MathSciNet  Google Scholar 

  10. Institute of Electrical and Electronics Engineers (1990) IEEE standard glossary of software engineering terminology, ANSI/IEEE Std. 610.12. IEEE, New York

  11. Kuhn DR (1999) Fault classes and error detection capability of specification-based testing. ACM Trans Softw Eng Methodol 8(4):411–424

    Article  Google Scholar 

  12. Morell LJ (1990) A theory of fault-based testing. IEEE Trans Softw Eng 16(8):844–857

    Article  Google Scholar 

  13. Offutt AJ (1992) Investigations of the software testing coupling effect. ACM Trans Softw Eng Methodol 1(1):5–20

    Article  Google Scholar 

  14. 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

  15. Okun V, Black PE, Yesha Y (2004) Comparison of fault classes in specification-based testing. Inf Softw Technol 46(8):525–533

    Article  Google Scholar 

  16. 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

  17. Paradkar A, Tai KC, Vouk MA (1996) Automatic test-generation for predicates. IEEE Trans Reliab 45(4):515–530

    Article  Google Scholar 

  18. Tai KC (1996) Theory of fault-based predicate testing for computer programs. IEEE Trans Softw Eng 22(8):552–562

    Article  Google Scholar 

  19. 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

    Article  Google Scholar 

  20. 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

  21. Wah KSHT (2003) An analysis of the coupling effect I: single test data. Sci Comput Programming 48:119–161

    Article  MATH  MathSciNet  Google Scholar 

  22. Weyuker EJ, Goradia T, Singh A (1994) Automatically generating test data from a boolean specification. IEEE Trans Softw Eng 20(5):353–363

    Article  MATH  Google Scholar 

  23. Zhu H, Hall PAV, May JHR (1997) Software unit test coverage and adequacy. ACM Comput Surv 29(4):336–427

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kalpesh Kapoor.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-006-0002-z

Keywords

Navigation