Home // International Journal On Advances in Software, volume 6, numbers 1 and 2, 2013 // View article


Design and Classification of Mutation Operators for Abstract State Machines

Authors:
Jameleddine Hassine

Keywords: Mutation testing; specification; mutation operator; Abstract State Machines (ASM); domain operators; function update operators; transition rules operators; CoreASM.

Abstract:
Mutation testing is a well established fault-based technique for assessing and improving the quality of test suites. Mutation testing can be applied at different levels of abstraction, e.g., the unit level, the integration level, and the specification level. Designing mutation operators is the most critical activity towards conducting effective mutation testing and analysis. Mutation operators are well defined for a number of programming (e.g., C, Java, etc.) and specification (e.g., FSM, Petri Nets, etc.) languages. In this paper, we design and classify mutation operators for the Abstract State Machines (ASM) formalism. The designed operators are defined based on the types of faults that may occur in ASM specifications and can be classified into three categories: (1) Domain operators, (2) function update operators, and (3) transition rules operators. Furthermore, a prototype mutation tool for the CoreASM language, has been built to automatically generate mutants and check their validity. We illustrate our approach using a simple CoreASM implementation of the Fibonacci series. Finally, an empirical comparison of the designed operators is presented and discussed.

Pages: 80 to 91

Copyright: Copyright (c) to authors, 2013. Used with permission.

Publication date: June 30, 2013

Published in: journal

ISSN: 1942-2628