Abstract
Fault-based testing aims at selecting test cases to detect hypothesized faults in a program. When a program contains a fault so that it behaves differently from as is expected, test cases that satisfy the detection condition of the fault will be able to detect it. Detection conditions of single occurrence of hypothesized faults had been studied and used to propose testing strategies and investigate relationships between different types of faults. As software developers may make several mistakes during software development, multiple faults may occur in a program. In this paper, we report our study in detection conditions of double occurrences of faults related to literals in a Boolean expression. This leads to some interesting observations. Some previous studies in double fault discarded equivalent mutants caused by a single fault. However, we observe that such equivalent mutants may give rise to non-equivalent double fault mutants, and hence, cannot be discarded. Moreover, we have developed several supplementary test case selection strategies to detect double faults that cannot be detected by existing test case selection strategies which aim at single-fault detection.
The work described in this paper was supported in part by a grant from the Australian Research Council, Australia (project id. DP0558597), and in part by a grant from the Research Grants Council of Hong Kong Special Administrative Region, China (project no. CityU 1166/04E).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Morell, L.J.: A theory of fault-based testing. IEEE Transactions on Software Engineering 16, 844–857 (1990)
Atlee, J., Buckley, M.: A logic-model semantics for SCR software requirements. In: ISSTA’96. Proceedings of 1996 International Symposium on Software Testing and Analysis, pp. 280–292 (1996)
Atlee, J., Gannon, J.: State-based model checking of event-driven system requirements. IEEE Transactions on Software Engineering 19, 24–40 (1993)
Dick, J., Faivre, A.: Automating the generation and sequencing of test cases from model-based specifications. In: Larsen, P.G., Woodcock, J.C.P. (eds.) FME 1993. LNCS, vol. 670, pp. 19–23. Springer, Heidelberg (1993)
Hierons, R.M.: Testing from a Z specification. Software Testing, Verification, and Reliability 7, 19–33 (1997)
Offutt, J.A., Liu, S., Abdurazik, A., Ammann, P.: Generating test data from state-based specifications. Software Testing, Verification and Reliability 13, 25–53 (2003)
Paradkar, A.M., Chung, T.K., Vouk, M.A.: Specification-based testing using cause-effect graphs. Annals of Software Engineering 4, 133–157 (1997)
Stocks, P., Carrington, D.: A framework for specification-based testing. IEEE Transactions on Software Engineering 22, 777–793 (1996)
Weyuker, E., Goradia, T., Singh, A.: Automatically generating test data from a Boolean specification. IEEE Transactions on Software Engineering 20, 353–363 (1994)
Chen, T.Y., Lau, M.F.: Test case selection strategies based on boolean specifications. Software Testing, Verification and Reliability 11, 165–180 (2001)
Kuhn, D.R.: Fault classes and error detection capability of specification-based testing. ACM Transactions on Software Engineering and Methodology 8, 411–424 (1999)
Tai, K.C.: Theory of fault-based predicate testing for computer programs. IEEE Transactions on Software Engineering 22, 552–563 (1996)
Lau, M.F., Yu, Y.T.: An extended fault class hierarchy for specification-based testing. ACM Transactions on Software Engineering and Methodology 14, 247–276 (2005)
Tsuchiya, T., Kikuno, T.: On fault classes and error detection capability of specification-based testing. ACM Transactions on Software Engineering and Methodology 11, 58–62 (2002)
Lau, M.F., Liu, Y., Yu, Y.T.: On the detection conditions of double faults related to terms in boolean expressions. In: Proceedings of the Thirtieth Annual International Computer Software and Applications Conference, pp. 403–410 (2006)
Marick, B.: Two experiments in software testing. Technical Report Technical Report UIUCDCS-R-90-1644, University of Illinois at Urbana-Champaign (1990)
Wallace, D., Kuhn, D.: Failure modes in medical device software: i an analysis of 15 years of recall data. International Journal of Reliability, Quality, and Safety Engineering, vol. 8 (2001)
How Tai Wah, K.S.: Fault coupling in finite bijective functions. Software Testing, Verification and Reliability 5, 3–47 (1995)
How Tai Wah, K.S.: A theoretical study of fault coupling. Software Testing, Verification and Reliability 10, 3–45 (2000)
Offutt, A.J.: The coupling effect: fact or fiction. In: Proceedings of the Third Workshop on Software Testing, Verification, and Analysis, pp. 131–140 (1989)
Offutt, A.J.: Investigations of the software testing coupling effect. ACM Transactions on Software Engineering and Methodology 1, 5–20 (1992)
Lau, M.F., Yu, Y.T.: On the relationship between single and double faults in logical expression. In: ISSRE 2004. Supplementary Proceedings of the 15th International Symposium on Software Reliability Engineering, pp. 41–42 (2004)
Lau, M.F., Liu, Y.: The investigation of double faults related to literals. Technical Report SUTICT-TR2006.03, Swinburne University of Technology (2006)
Lau, M.F., Liu, Y.: On detecting double faults related to literals. Technical Report SUTICT-TR2006.04, Swinburne University of Technology (2006)
Yu, Y.T., Lau, M.F., Chen, T.Y.: Automatic generation of test cases from Boolean specifications using the MUMCUT strategy. Journal of Systems and Software 79, 820–840 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lau, M.F., Liu, Y., Chen, T.Y., Yu, Y.T. (2007). On Detecting Double Literal Faults in Boolean Expressions. In: Abdennadher, N., Kordon, F. (eds) Reliable Software Technologies – Ada Europe 2007. Ada-Europe 2007. Lecture Notes in Computer Science, vol 4498. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73230-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-73230-3_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73229-7
Online ISBN: 978-3-540-73230-3
eBook Packages: Computer ScienceComputer Science (R0)