Applications of Logic Coverage Criteria and Logic Mutation to Software Testing




Kaminski, Garrett K.

Journal Title

Journal ISSN

Volume Title



Logic is an important component of software. Thus, software logic testing has enjoyed significant research over a period of decades, with renewed interest in the last several years. One approach to detecting logic faults is to create and execute tests that satisfy logic coverage criteria. Another approach to detecting faults is to perform mutation analysis and then find tests that distinguish the original program from each mutant. The fundamental contribution of this dissertation is the development of a new logic coverage criterion and a new logic mutation approach to improve testing in the context of logic expressions in normal form, logic expressions in general form and entire programs. In particular, testing approaches based on current logic coverage criteria and current mutation approaches share the same drawback of not guaranteeing detection of certain logic faults (even when all non-equivalent mutants are killed) and/or are costly in terms of the number of tests required. This dissertation further develops the body of knowledge in logic coverage criteria and logic mutation testing to address these problems. I show that a new logic coverage criterion can guarantee detecting the same logic faults as current criteria with fewer test cases. I also show that a new logic mutation approach can decrease the number of logic mutants generated while increasing logic fault detection capability. By doing so, a strong theoretical and empirical duality is established between the new logic coverage criterion and the new logic mutation approach.



Software testing, Disjunctive normal form, Logic criteria, Mumcut, Mutation testing