Detecting Simulink compiler bugs via controllable zombie blocks mutation
Shikai Guo, He Jiang, Zhihao Xu, Xiaochen Li, Zhilei Ren, Zhide Zhou, Rong Chen
Abstract
As a popular Cyber-Physical System (CPS) development tool chain, MathWorks Simulink is widely used to prototype CPS models in safety-critical applications, e.g., aerospace and healthcare. It is crucial to ensure the correctness and reliability of Simulink compiler (i.e., the compiler module of Simulink) in practice since all CPS models depend on compilation. However, Simulink compiler testing is challenging due to millions of lines of source code and the lack of the complete formal language specification. Although several methods have been proposed to automatically test Simulink compiler, there still remains two challenges to be tackled, namely the limited variant space and the insufficient mutation diversity. To address these challenges, we propose COMBAT, a new differential testing method for Simulink compiler testing. COMBAT includes an EMI (Equivalence Modulo Input) mutation component and a diverse variant generation component. The EMI mutation component inserts assertion statements (e.g., If /While blocks) at arbitrary points of the seed CPS model. These statements break each insertion point into true and false branches. Then, COMBAT feeds all the data passed through the insertion point into the true branch to preserve the equivalence of CPS variants. In such a way, the body of the false branch could be viewed as a new variant space, thus addressing the first challenge. The diverse variant generation component uses Markov chain Monte Carlo optimization to sample the seed CPS model and generate complex mutations of long sequences of blocks in the variant space, thus addressing the second challenge. Experiments demonstrate that COMBAT significantly outperforms the state-of-the-art approaches in Simulink compiler testing. Within five months, COMBAT has reported 16 valid bugs for Simulink R2021b, of which 11 bugs have been confirmed as new bugs by MathWorks Support.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 84401ac6-5076-420b-b7f1-b129156f42bcCited by top-tier papers3
- Rust-twins: Automatic Rust Compiler Testing through Program Mutation and Dual Macros GenerationWenzhang Yang, Cuifeng Gao, Xiaoyuan Liu, Yuekang Li et al.ASE 2024 · 5 citations
- PhyFu: Fuzzing Modern Physics Simulation EnginesDongwei Xiao, Zhibo Liu, Shuai WangASE 2023 · 1 citation
- 3D Software Synthesis Driven by Constraint-Expressive Intermediate RepresentationShuqing Li, Anson Y. Lam, Yun Peng, Wenxuan Wang et al.ICSE 2026
Builds on2
- A comprehensive study of deep learning compiler bugsQingchao Shen, Haoyang Ma, Junjie Chen, Yongqiang Tian et al.FSE 2021 · 123 citations
- SLEMI: equivalence modulo input (EMI) based mutation of CPS models for finding compiler bugs in SimulinkShafiul Azam Chowdhury, Sohil Lal Shrestha, Taylor T. Johnson, Christoph CsallnerICSE 2020 · 35 citations
Related papers
- Live Region Mutation Testing for Commercial Cyber-Physical System Development Tool ChainLehuan Zhang, Shikai Guo, Zixuan Wang, Xiaoyu Wang et al.DAC 2025
- Partition Based Differential Testing for Finding Embedded Code Generation Bugs in SimulinkHe Jiang, Hongyi Cheng, Shikai Guo, Xiaochen LiDAC 2023 · 2 citations
- Fuzzing for CPS Mutation TestingJaekwon Lee, Enrico Viganò, Oscar Cornejo, Fabrizio Pastore et al.ASE 2023 · 4 citations
- CFTCG: Test Case Generation for Simulink Model through Code Based FuzzingZhuo Su, Zehong Yu, Dongyan Wang, Rui Wang et al.DAC 2024 · 1 citation
- Test Case Generation for Simulink Models using Model Fuzzing and State SolvingZhuo Su, Zehong Yu, Dongyan Wang, Wanli Chang et al.ASE 2024 · 1 citation
