Nexor is a consortium that takes up industrial product and production design challenges for cyber-physical systems. We respond to the Industrial Revolution 4.0 and design smart, customized, lot-size-1, adaptive, and sustainable solutions. We collaborate directly with industrial partners, among others, via Flanders Make.
Within the SmartDelta project, the University of Antwerp NEXOR leverages its expertise with test automation to improve the quality of families of systems. We offer a proof-of-concept tool (named MUT4SLX) for automatic mutant generation and test execution of Simulink models.
Why MUT4SLX: Several experience reports illustrate that mutation testing can support a “shift-left” testing strategy for software systems coded in textual programming languages like C++. However, for graphical modeling languages like Simulink, the relevant tools are missing.
MUT4SLX bridges this gap. The tool features 15 mutation operators, which are modeled after realistic faults (mined from an industrial bug database) and are fast to inject (because we only replace parameter values within blocks).
How MUT4SLX works:
Figure 1. Overview of MUT4SLX
As shown in Figure 1, MUT4SLX comprises two main components: (i) mutant generation and (ii) mutant execution. The mutant generation component is responsible for reading relevant parameters from the configuration and loading the model, as well as identifying the possible mutants. Users can use the CSV output generated by this component to preview the number of mutants, ignore certain mutants, or prioritize specific mutants before mutant execution takes place. The mutant execution component executes the given test cases on each of the mutants to count the number of killed and live mutants. Currently, two test engines are supported: Signal Builder and Simulink Test.
Results: MUT4SLX was validated on a Helicopter Control System, a representative example built following the guidelines set out in ARP4754A, DO-178C, and DO-331 certifications. The validation shows that MUT4SLX is capable of injecting 70 mutants in less than a second, resulting in a total analysis time of 8.14 hours. Only 40% of the mutants are killed, illustrating that the system is undertested by the automated tests in the project.
Get in touch to know more about MUT4SLX and NEXOR:
Prof. Serge Demeyer
Universiteit Antwerpen