Abstracting Formal Specifications to Generate Software Tests via Model Checking
P E. Ammann, Paul E. Black
A recent method combines model checkers with specification-based mutation analysis to generate test cases from formal software specifications. However high-level software specifications usually must be reduced to make analysis with a model checker feasible.We propose a new reduction, parts of which can be applied mechanically, to soundly reduce some large, even infinite, state machines to manageable pieces. Our work differs from other work in that we use the reduction for generating test sets as opposed to the typical goal of analyzing for properties. Consequently, we have different criteria, and we prove a different soundness rule. Informally the rule is that counterexamples from the model checker are test cases for the original specification. The reduction changes the state machine and temporal logic constraints in the model checking specification to avoid generating unsound test cases. We give an example of the reduction and test generation.
abstraction, formal methods, model checking, reduction, software, software quality, test generation, testing
and Black, P.
Abstracting Formal Specifications to Generate Software Tests via Model Checking, Digital Avionics Systems Conference, [online], https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=151677
(Accessed February 25, 2024)