Formal mutation testing for
Formal mutation testing for
复制标题
正式突变测试
DOI:
10.1016/j.infsof.2016.04.003
复制
发表时间:
2017
影响因子:
3.9
通讯作者:
Alberto A
中科院分区:
文献类型:
--
作者:
Alberto A
Context:The demand from industry for more dependable and scalable test-development mechanisms has fostered the use of formal models to guide the generation of tests. Despite many advancements having been obtained with state-based models, such as Finite State Machines (FSMs) and Input/Output Transition Systems (IOTSs), more advanced formalisms are required to specify large, state-rich, concurrent systems.Circus, a state-rich process algebra combining Z, CSP and a refinement calculus, is suitable for this; however, deriving tests from such models is accordingly more challenging. Recently, a testing theory has been stated forCircus, allowing the verification of process refinement based on exhaustive test sets.Objective:We investigate fault-based testing for refinement fromCircusspecifications using mutation. We seek the benefits of such techniques in test-set quality assertion and fault-based test-case selection. We target results relevant not only forCircus, but to any process algebra for refinement that combines CSP with a data language.Method:We present a formal definition for fault-based test sets, extending theCircustesting theory, and an extensive study of mutation operators forCircus. Using these results, we propose an approach to generate tests to kill mutants. Finally, we explain how prototype tool support can be obtained with the implementation of a mutant generator, a translator fromCircusto CSP, and a refinement checker for CSP, and with a more sophisticated chain of tools that support the use of symbolic tests.Results:We formally characterise mutation testing forCircus, defining the exhaustive test sets that can kill a given mutant. We also provide a technique to select tests from these sets based on specification traces of the mutants. Finally, we present mutation operators that consider faults related to both reactive and data manipulation behaviour. Altogether, we define a new fault-based test-generation technique forCircus.Conclusion:We conclude that mutation testing forCircuscan truly aid making test generation from state-rich model more tractable, by focussing on particular faults.