Slemi: Equivalence modulo input (emi) based mutation of cps models for finding compiler bugs in simulink

29Citations
Citations of this article
23Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Finding bugs in commercial cyber-physical system development tools (or model-based design tools) such as MathWorks's Simulink is important in practice, as these tools are widely used to generate embedded code that gets deployed in safety-critical applications such as cars and planes. Equivalence Modulo Input (EMI) based mutation is a new twist on differential testing that promises lower use of computational resources and has already been successful at finding bugs in compilers for procedural languages. To provide EMI-based mutation for differential testing of cyber-physical system (CPS) development tools, this paper develops several novel mutation techniques. These techniques deal with CPS language features that are not found in procedural languages, such as an explicit notion of execution time and zombie code, which combines properties of live and dead procedural code. In our experiments the most closely related work (SLforge) found two bugs in the Simulink tool. In comparison, SLEMI found a super-set of issues, including 9 confirmed as bugs by MathWorks Support.

Cite

CITATION STYLE

APA

Chowdhury, S. A., Shrestha, S. L., Johnson, T. T., & Csallner, C. (2020). Slemi: Equivalence modulo input (emi) based mutation of cps models for finding compiler bugs in simulink. In Proceedings - International Conference on Software Engineering (pp. 335–346). IEEE Computer Society. https://doi.org/10.1145/3377811.3380381

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free