Model-based static code analysis for MATLAB models
Document Type
Conference Proceeding
Publication Date
11-7-2012
Abstract
MATLAB is widely used in scientific, engineering, and numerical computations. Complex systems such as digital signal processors, process control systems, etc. are modeled in MATLAB and analyzed; C implementation of the system can be automatically generated from the validated MATLAB model. We combine static analysis techniques with model-based deductive verification using SMT solvers to provide a framework to analyze MATLAB code. The analyzer is generated by translating the collecting semantics of a MATLAB script to a formula in first order logic over multiple underlying theories. Function calls in a script can be handled by importing SMT assertions obtained by analyzing MATLAB files containing function definitions. Logical specification of the desired program behavior (rather its negation) is incorporated as a first order logic formula. An SMT-LIB formula solver treats the combined formula as a "constraint" and "solves" it. The "solved form" can be used to identify logical errors in the MATLAB model. © 2012 Springer-Verlag.
Publication Source (Journal or Book title)
Lecture Notes in Computer Science Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics
First Page
474
Last Page
487
Recommended Citation
Lu, Z., & Mukhopadhyay, S. (2012). Model-based static code analysis for MATLAB models. Lecture Notes in Computer Science Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics, 7609 LNCS (PART 1), 474-487. https://doi.org/10.1007/978-3-642-34026-0_35