Introducing Code Checker for MATLAB

Guide your MATLAB code development towards production-quality software with Code Checker for MATLAB. Your code: consistent, reliable and reusable. Code Checker for MATLAB helps developers write clean, consistent and guideline-compliant MATLAB code. Achieved by performing checks and analyses. Accessed from the MATLAB editor or Simulink Model Advisor; MATLAB code, Simulink models and Stateflow charts are checked for consistency and errors.

Code Checker for MATLAB performs (among others) checks on standard guideline conformity, functionality shadowing and missing dependencies. Integrate your company-specific verification guidelines by defining custom checks where needed. Code Checker for MATLAB lets you works quickly, by offering navigation links to the exact corresponding location within the code for each failing check. In addition, Code Checker for MATLAB analyzes your MATLAB code and presents useful information on functions and variables.

Capabilities



Standard checks

Reports presented by the standard checks include (among others) a basic summary, information on block statements and name casing. These checks can be turned on and off according to your needs.


Custom checks

Tailor Code Checker for MATLAB for your project, customize the code checker! Impose company or team-specific coding guidelines on your MATLAB code, put emphasis on what is important to you. Examples include variable naming conventions, casing guidelines and guidelines listing certain MATLAB functions that should be avoided.


Version control

Code Checker for MATLAB - standard edition can be set to check locally modified files under Subversion, ideal as a standard review before each commit. Prevent poor code constructs or non style guide compliant code making it into your repository.


Code analysis

Code Checker for MATLAB analyses variables, functions and dependencies. For instance, it reports on function types and how variables are used. Get a grip and guide your software.


System requirements

Code Checker for MATLAB requires MATLAB R2016a or later. Suitable for deployment on Microsoft Windows, Linux and macOS.

 

Key Features

  • Results in compliant and legible MATLAB code
  • Facilitates teamwork, reuse and reliability
  • Guidelines compliance checking
  • Functionality shadowing checking
  • Dependency checking
  • Checks individual files or hunderds at a time
  • Over 40 configurable checks .. and counting
  • Function and variable analysis
  • Configurable set of checks
  • Version control (Subversion) aware
  • Intuitive and easy to use
  • Community support through forum
 

Overview of Configurable Checks

Constructs and functions to avoid
  • Check for use of disapproved built-in functions and keywords.
  • Check for disapproved usage of varargin and varargout.
  • Check if there are any comment blocks used.
  • Check if any setters and getters are declared.
  • Check if the keyword 'global' is used.
  • Check for usage of 'if true' and similar.
  • Check for usage of logical operators && and || in logical expression.
  • Check if there are any nested functions used.
  • Check if every constructor has only one output.
  • Check if the keyword 'persistent' is used.
  • Check if there are any script files used.
  • Check if there are no file-wide warning suppressions.
  • Check if TRY is used.
  • Check if warnings are issued in the code.
Completeness
  • Check if every ASSERT call has ID and message as 2nd and 3rd inputs.
  • Check if there is a copyright notice and check its formatting.
  • Check if every IF has a matching ELSE section.
  • Check if every SWITCH has a matching OTHERWISE section.
Readability and componentization
  • Check if the length of the executable code exceeds its maximum according to the guidelines.
  • Check if commas, semicolons and keywords are followed by a space unless at the end of the line.
  • Check if the contents of all functions are indented or not.
  • Check if all lines have indentation divisible by parameter indentation length.
  • Check if the length of a code line exceeds its maximum according to guidelines.
  • Checks if blocks are nested too deep.
  • Check if all function calls without input arguments have empty parentheses.
  • Check if there are any functions with too many inputs or outputs.
  • Check if there is at most one keyword per line.
  • Check if special characters are surrounded by spaces.
Casing
  • Check if every class name is correctly cased.
  • Check if every enumeration member name is correctly cased.
  • Check if every event name is correctly cased.
  • Check if every method name is correctly cased.
  • Check if constant properties that fail the standard check on property casing are cased as defined by this check.
  • Check if every property name is correctly cased.
  • Check if every struct field is correctly cased.
  • Check if every user-defined function that is not a method is correctly cased.
  • Check if every variable is correctly cased.
Other naming conventions
  • Check if the names of local functions and nested functions have specific prefixes.
  • Check if every iterator variable is prefixed with i, j, k etc.
  • Check on MATLAB functionality shadowing.
  • Check for negated boolean variable names.
  • Check if any property name contains the name of the class.
  • Check if any struct fields contain the name of the struct.
Code Analysis
  • Report cyclomatic complexity.
  • Report dependencies used.
  • Report implemented functions/methods.
  • Report all mex-files used and their available versions.
  • Report the variables used.
 

Buy or try

Code Checker for MATLAB - standard edition is available through our shop.
A limited version of the Code Checker for MATLAB is available for evaluation purposes. Download and request your evaluation license here.
Community support is available through our forum. The forum is actively monitored by MonkeyProof Solutions support and development team(s).
For inquiries, licensing options and pricing beyond the offering available through our shop, please contact us.