Mutation analysis is a fault-based method used for introducing small changes into a program, producing mutants based on mutation operators, classes of commonly occurring faults. Mutation analysis has been used in the last couple of decades for evaluating how good test cases produced by software testing are at detecting faults. Software testing is the process of executing software based on certain input parameters and evaluating its behavior with the purpose of finding faults and making sure that the software works as expected. In automotive systems, MATLAB Simulink is the facto standard for implementing the electronic control software of vehicle functions. As such, the application of software testing and mutation analysis to Simulink models becomes a crucial aspect for providing a framework to evaluate existing test cases by introducing mutations into these models. In this thesis, we propose a mutation generation framework for Simulink by using a set of mutation operators defined based on our own classification based on the Simulink project structure and previously defined operators. Our method is supported by the tool SIMUTATOR, which we also introduce and apply on an industrial prototype called the Brake-By-Wire system. This work enables the mutation analysis of industrial Simulink models. In addition, we show how SIMUTATOR can be used together with SIMPAAL (a tool for transforming Simulink models to timed automata) and MATS (a tool for test generation) for mutation testing. The results show that SIMUTATOR is efficient and can be used successfully on industrial-sized Simulink software
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:mdh-38560 |
Date | January 2018 |
Creators | Runge, Henrik |
Publisher | Mälardalens högskola, Akademin för innovation, design och teknik |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0016 seconds