What is the Code Checker for MATLAB?
Code Checker for MATLAB is a tool to easily check your MATLAB Code, Simulink Models, and Stateflow Charts against your company’s or your team’s coding standards. The Code Checker for MATLAB includes a convenient approach to easily configure and run checks. Furthermore, Code Checker for MATLAB provides an M-Code analyzer to enable running checks on variables and functions as easy as checks on Simulink and Stateflow properties.
The Code Checker for MATLAB includes an M-code analyzer that is separated from the configurable checks infrastructure in such a way that the checks can use the M-code analyzer only when desired.
Along with five reports (defined variables, defined functions, a dependency report, a report on cyclomatic complexity, and required mex-files) a set of configurable checks is provided. The configuration of these checks is performed via a configuration file that can be edited interactively. In a future release of Code Checker for MATLAB, support for custom, user-defined checks
is foreseen. If you are interested in defining your own checks, or if you want us to implement certain checks for you, please contact us at firstname.lastname@example.org
The combination of the configuration file, the collection of checks and the M-code analyzer output together are the input for the checker (see Figure 1.1↓
). The checker generates the report containing the results of all checks as configured via the configuration file and applied to the analyzed code. The interactive report contains links to the rule violations in your code, to the configuration file representing your MATLAB coding rules, and to the coding standards whose standards and rules are reflected by the configuration file.
The Code Checker for MATLAB can be used with a standard license and a Pro license. The Pro license features are about the MATLAB command window interface, for more information about these features see Section 6↓
Figure 1.1 Architecture of Code Checker for MATLAB. Note that “Custom checks” are not yet supported.