Model-Based Static Code Analysis for MATLAB Models

Published: 2012, Last Modified: 01 Oct 2024ISoLA (1) 2012EveryoneRevisionsBibTeXCC BY-SA 4.0
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.
Loading