Skip to main content
Log in

On detecting faults for Boolean expressions

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Fault based testing aims at detecting hypothesized faults based on specifications or program source. There are some fault based techniques for testing Boolean expressions which are commonly used to model conditions in specifications as well as logical decisions in program source. The MUMCUT strategy has been proposed to generate test cases from Boolean expressions. Moreover, it detects eight common types of hypothesized faults provided that the original expression is in irredundant disjunctive normal form, IDNF. Software practitioners are more likely to write the conditions and logical decisions in general form rather than IDNF. Hence, it is interesting to investigate the fault detecting capability of the MUMCUT strategy with respect to general form Boolean expressions. In this article, we perform empirical studies to investigate the fault detection capability of the MUMCUT strategy with respect to general form Boolean expressions as well as mutated expressions. A mutated expression can be obtained from the original given Boolean expression by making a syntactic change based on a particular type of fault.

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.

Institutional subscriptions

Fig. 1

Similar content being viewed by others

Notes

  1. The seven types of faults are expression negation fault, term omission fault, operator reference fault, literal negation fault, literal omission fault, literal insertion fault and literal reference fault. Please refer to Sect. 2.2 for a detailed discussion of these faults.

  2. Note that, variable negation fault is also used in other studies, say Kuhn (1999), to mean that all occurrences of a particular variable in the expression are negated. As such, VNF can be different from LNF when the variable being negated occurs more than once in the expression (Lau and Yu 2005).

  3. Note that, variable reference fault is also used in other studies, say Kuhn (1999), to mean that all occurrences of a particular variable in the expression are replaced by another variable. As such, VRF can be different from LRF when the variable being replaced occurs more than once in the expression (Lau and Yu 2005).

  4. Here, we assume that the \({\tt AND}\) operator will have a higher precedence than the \({\tt OR}\) operator.

References

  • Chen, T. Y., & Lau, M. F. (2001a). Test case selection strategies based on Boolean specifications. Software Testing, Verification and Reliability, 11(3), 165–180.

    Article  Google Scholar 

  • Chen, T. Y., & Lau, M. F. (2001b). Test suite reduction and fault detecting effectiveness: An empirical evaluation. In Proceedings of 6th International Conference on Reliable Software Technologies–Ada-Europe 2001, number 2043 in LNCS, (pp. 253–265). Berlin: Ada-Europe, Springer.

  • Chilenski, J. J. (2001). An investigation of three forms of the modified condition decision coverage (mcdc) criterion. Technical Report DOT/FAA/AR-01/18, Federal Aviation Administration, US Department of Transportation, Washington, DC.

  • Chilenski, J. J., & Miller, S. P. (1994). Applicability of modified condition/decision coverage to software testing. Software Engineering Journal, 9(5), 193–200.

    Article  Google Scholar 

  • Dupuy, A., & Leveson, N. (2000). An empirical evaluation of the MC/DC coverage criterion on the HETE-2 satellite software. In Proceedings of Digital Aviation Systems Conference (DASC 2000), Philadelphia, USA.

  • Foster, K. A. (1980). Error sensitive test cases analysis (ESTCA). IEEE Transactions on Software Engineering, 6(2), 258–264.

    Article  Google Scholar 

  • Foster, K. A. (1984). Sensitive test data for logic expressions. ACM SIGSOFT Software Engineering Notes, 9(2), 120–125.

    Google Scholar 

  • How Tai Wah, K. S. (2000). A theoretical study of fault coupling. Software Testing, Verification and Reliability, 10(1), 3–45.

    Article  Google Scholar 

  • Kobayashi, N., Tsuchiya, T., & Kikuno, T. (2002). Non-specification-based approaches to logic testing for software. Information and Software Technology, 44(2), 113–121.

    Article  MathSciNet  Google Scholar 

  • Kuhn, D. R. (1999). Fault classes and error detection capability of specification-based testing. ACM Transactions on Software Engineering and Methodology, 8(4), 411–424.

    Article  Google Scholar 

  • Lau, M. F., Liu, Y., & Yu, Y. T. (2006). On detection conditions of double faults related to terms in Boolean expressions. In Proceedings of COMPSAC 2006: The 30th Annual International Computer Software and Application Conference, (pp. 403–410). Chicago, IL: IEEE Computer Society Press.

  • Lau, M. F., Liu, Y., & Yu, Y. T. (2007a). On detection double faults with term and literal in Boolean expressions. In Proceedings of 7th International Conference on Quality Software (QSIC 2007), (pp. 117–126). IEEE Computer Society Press.

  • Lau, M. F., Liu, Y., Chen, T. Y., & Yu, Y. T. (2007b). On the detection conditions of double faults related to literals in Boolean expressions. In Proceedings of 12th International Conference on Reliable Software Technologies—Ada-Europe 2007, number 4498 in LNCS, (pp. 55–68). Berlin: Ada-Europe, Springer.

  • Lau, M. F., & Yu, Y. T. (2005). An extended fault class hierarchy for specification-based testing. ACM Transactions on Software Engineering and Methodology, 14(3), 247–276.

    Article  Google Scholar 

  • Leveson, N. G., Heimdahl, M. P. E., Hildreth, H., & Reese, J. D. (1994). Requirements specification for process-control systems. IEEE Transactions on Software Engineering, 20(9), 684–707.

    Article  Google Scholar 

  • Mano, M. M. (1991). Digital design, (2nd ed.). Englewood Cliffs, NJ: Prentice-Hall.

    Google Scholar 

  • Morell, L. J. (1990). A theory of fault-based testing. IEEE Transactions on Software Engineering, 16(8), 844–857.

    Article  Google Scholar 

  • Myers, G. J. (1979). The art of software testing, (2nd ed.). New York: Wiley.

    Google Scholar 

  • Offutt, A. J. (1992). Investigations of the software testing coupling effect. ACM Transactions on Software Engineering and Methodology, 1(1), 5–20.

    Article  Google Scholar 

  • Sun, C.-A., Dong, Y.-W., Sim, K. Y., Lai, R., & Chen, T. Y. (2006). Analyzing and extending MUMCUT for fault-based testing of general Boolean expressions. In Proceedings of Sixth IEEE International Conference on Computer and Information Technology (CIT 2006), Seoul.

  • Sun, C.-A., & Sim, K. Y. (2004). An FSM-based parameterized generator for general Boolean expressions. In Proceedings of International Computer Engineering Conference (ICENCO), (pp. 119–126). Cairo, Egypt.

  • Tai, K. C. (1996). Theory of fault-based predicate testing for computer programs. IEEE Transactions on Software Engineering, 22(8), 552–562.

    Article  Google Scholar 

  • Tai, K. C., & Su, H. K. (1987). Test generation for boolean expressions. In Proceedings of COMPSAC 1987: The Eleventh Annual International Computer Software and Application Conference, (pp. 278–284). IEEE Computer Society Press.

  • Weyuker, E. J., Goradia, T., & Singh, A. (1994). Automatically generating test data from a boolean specification. IEEE Transactions on Software Engineering, 20(5), 353–363.

    Article  MATH  Google Scholar 

  • Yu, Y. T., & Lau, M. F. (2006). A comparison of MC/DC, MUMCUT and several other coverage criteria for logical decisions. The Journal of Systems and Software, 79(5), 577–590.

    Article  Google Scholar 

  • Yu, Y. T., Lau, M. F., & Chen, T. Y. (2006). Automatic generation of test cases from Boolean specifications using the MUMCUT strategy. The Journal of Systems and Software, 79(6), 820–840.

    Article  Google Scholar 

Download references

Acknowledgments

The work is supported in part from the Australian Research Council (Discovery Project ID: DP0558597), the Swinburne University of Technology (Research Development Scheme 2006), and the Science and Technology of Beijing Jiaotong University (Grant No. 2007RC099).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to M. F. Lau.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chen, T.Y., Lau, M.F., Sim, K.Y. et al. On detecting faults for Boolean expressions. Software Qual J 17, 245–261 (2009). https://doi.org/10.1007/s11219-008-9064-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-008-9064-5

Keywords

Navigation