Abstract
Mutation is a systematic technique to create variants of a seed artefact by means of mutation operators. It has many applications in computer science, like software testing, automatic exercise generation and design space exploration. Typically, mutation frameworks are developed ad-hoc by implementing mutation operators and their application strategies from scratch, using general-purpose programming languages. However, this is costly and error-prone. To improve this situation, we propose Wodel : a domain-specific language and tool for model-based mutation that is independent of the domain meta-model. Wodel enables the rapid development and application of model mutations. It provides built-in advanced functionalities like automatic generation of seed models, and static and dynamic metrics of operator coverage and applicability. It offers extension points, e.g., to post-process mutants and describe domain-specific equivalence criteria. As an example, we illustrate the usage of Wodel for the mutation of security policies, and present an empirical evaluation of its expressiveness. • Wodel is an Eclipse plugin to develop and analyse domain-independent mutation operators. • It provides a domain-specific textual language with high-level mutation primitives, and an automatic seed model generator. • It computes static and dynamic metrics of mutation programs to obtain meta-model coverage and detailed execution traces. • It can be extended for specific applications (like testing) by means of extension points.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.