posted on 2024-07-11, 19:25authored byTanay Kanti Paul
Modified Condition Decision Coverage (MCDC) is a structural coverage criterion. It was developed to test safety-critical applications. The coverage level of MCDC criterion is required for Level A software per DO-178B. Later, researchers proposed various forms of MCDC to address certain issues in its original definition. Recently, researchers have been using the MCDC definitions to generate test cases to detect faults that may occur in Boolean expressions. They have reported that these definitions are effective in detecting many fault types, but not suitable for some. Thus, many faults may remain undetected by these definitions which is an important problem in Boolean expression testing. The work in this thesis tackles this problem by supplementing MCDC. I perform a systematic literature review (SLR) over the publications that have discussed and/or used the MCDC definitions to clarify certain issues with MCDC. From this SLR, I find further possible form of MCDC and hence propose the Unique-Cause + Restricted-Masking (UCRM) MCDC. In order to identify the ambiguities and inconsistencies in the definitions of the existing fault classes, I perform a SLR over the publications that have defined and/or used fault classes for logic expression. Then, I propose a set of uniform definitions for fault classes in Boolean expression that gives an opportunity to produce consistent fault-based testing strategies and fault detection capabilities. After performing two experiments on the MCDC forms including UCRM against the new fault class set, I find that UCRM detects more faults (especially literal reference faults) than the existing MCDC forms; and MCDC may not be suitable for conjunctive literal insertion faults (LIF[.]) and disjunctive literal insertion faults (LIF[+]). I propose two strategies, Singular True Position Coverage (STPC) and Singular False Position Coverage (SFPC) to detect LIF[.] and LIF[+], respectively. Since they select test cases from MCDC test case domain, they can supplement MCDC without conceding too many test cases. Finally, I propose the SURF strategy that integrates UCRM MCDC, STPC and SFPC. It detects fifteen types of faults found in Boolean expressions. Moreover, I propose two other similar strategies, STaF and ALL-RM to compare with SURF. After performing an experiment on the three new strategies against the new fault class set, I find that the SURF strategy should be used to detect faults in Boolean expressions. In summary, this thesis significantly contributes to the research on specification-faultbased testing, especially to the fields related to MCDC-based testing to detect faults in Boolean specifications.
History
Thesis type
Thesis (PhD)
Thesis note
Thesis submitted in fulfilment of the requirements for the degree of Doctor of Philosophy, Swinburne University of Technology, 2014.