MuMonDE: A framework for evaluating model clone detectors using model mutation analysis. (7th June 2018) - Stephan, Matthew; Cordy, James R.
Summary: Model‐driven engineering is an increasingly prevalent approach in software engineering where models are the primary artifacts throughout a project's life cycle. A growing form of analysis and quality assurance in these projects is model clone detection, which identifies similar model elements. As model clone detection research and tools emerge, methods must be established to assess model clone detectors and techniques. In this paper, we describe the MuMonDE framework, which researchers and practitioners can use to evaluate model clone detectors using mutation analysis on the models each detector is geared towards. MuMonDE applies mutation testing in a novel way by randomly mutating model elements within existing projects to emulate various types of clones that can exist within that domain. It consists of 2 main phases. The mutation phase involves determining the mutation targets, selecting the appropriate mutation operations, and injecting mutants. The second phase, evaluation, involves detecting model clones, preprocessing clone reports, analyzing those reports to calculate recall and precision, and visualizing the data. We introduce MuMonDE by describing each phase in detail. We present our experiences and examples in successfully developing a MuMonDE implementation capable of evaluating Simulink model clone detectors. We validate MuMonDE by demonstrating its ability to answer evaluation questions and provide insights based on the data it generates. With this research using mutation analysis, our goal is to improve model clone detection and its analytical capabilities, thus improving model‐driven engineering as a whole. Abstract : As model clone detection research and tools emerge, model clone detectors must be evaluated. The MuMonDE framework applies mutation testing in a novel way by randomly mutating model elements to emulate various types of clones that can exist through its 2 main phases: mutation and evaluation. We present our experiences in successfully developing a MuMonDE implementation capable of evaluating Simulink model clone detectors and demonstrate its ability to answer questions and provide insights based on the data it generates.