monkeyproof solutions logo
Menu
  • Your challenge
    • Overview

    • Web apps, deployment & integration
    • Refactoring & migration
    • Talent & know-how
    • Efficiency gaps
  • Services
    • Overview

    • Software solutions
    •  ⤷ Scientific coding & optimization
    •  ⤷ Web apps, deployment & integration
    •  ⤷ Software refactoring & migration
    •  ⤷ Cloud adoption & DevOps support
    • Model-based design
    •  ⤷ Modeling & simulation
    •  ⤷ Code generation & integration
    • Talent & know-how
  • Products
    • Overview

    • Simian Web Apps
    • Code Checker for MATLAB
  • About
    • Clients
    • Projects
    • Blog
    • Contact
  1. About
  2. Blog
  3. CC4M
  4. The new CC4M dashboard

CC4M Dashboard

Explore your MATLAB code quality. Find what matters. Act on it.

Published: 2026-09-25

CC4M Dashboard
Contents
  1. Summary
  2. What's in the dashboard
  3. Getting started
  4. Known issues
  5. Conclusion
References
  1. CC4M - Code Checker for MATLAB
Contents
  1. Summary
  2. What's in the dashboard
  3. Getting started
  4. Known issues
  5. Conclusion
References
  1. CC4M - Code Checker for MATLAB

Summary

A serious MATLAB codebase can produce a lot of code-quality information: hundreds or thousands of files, dozens of checks, and potentially a long list of findings. The challenge is not simply finding violations — it is understanding where to focus first.

The new CC4M Dashboard (beta) turns those results into an interactive view of your codebase. See the big picture at a glance, identify hotspots, slice the results by severity, priority, rule, folder, or file, and drill down to the exact line of code when you are ready to act. You can even apply fixes and exemptions directly from the report.

Instead of working through a static report from top to bottom, you can move from overview to focus to action — using the same results to answer different questions about your codebase.

Available with CC4M 2.22 via the -generateDashboard option. Like with the classic HTML report, CC4M writes a dashboard_<timestamp>.html file to your reports folder and opens it in the MATLAB web browser.

What's in the dashboard

The Dashboard tab: see the big picture

The Dashboard tab gives you an immediate overview of the analysis. Summary cards show the total number of violations, the rate per thousand lines of code, the breakdown into critical findings, warnings, and notes, and the number of files with errors.

Summary cards showing the results of a run

Below the cards, six charts show how the findings are distributed and where they are concentrated:

  • Severity Distribution and Priority Distribution — how violations split across severity levels (critical, warning, note) and guideline priorities (Mandatory, Strongly Recommended, Recommended).
  • File Severity — how files are distributed by their most severe violation.
  • Rules Coverage — how many of your configured rules produced violations versus how many passed cleanly.
  • Top Folders by Violations and Top Files by Violations — the hot spots in your codebase, ranked.

The six overview charts

Before opening a single finding, you can already see the shape of the result set: how much was found, how serious it is, and where it is concentrated.

Focus instantly on a folder or file

The charts are not just visual summaries. Select a highlighted folder or file in Top Folders or Top Files and the dashboard immediately focuses on that part of the codebase.

The active scope is shown clearly in the filter bar, while the cards and charts update to show the selected files. That makes it easy to move from the complete codebase to one subsystem or component and immediately see how the picture changes.

A folder selected via the Top Folders chart; selection visible in the filter bar; filtered card and chart values

You can use this to answer questions such as: Where are the Critical findings concentrated? Which rule dominates in this component? Does this folder have a very different quality profile from the codebase as a whole?

The Violations tab: slice the results and act

The Violations tab brings every finding together in a sortable, searchable table with pagination.

Use the filter bar to narrow the result set by severity, priority, or rule. Combine those filters with a file or folder selection and you can move quickly from thousands of findings to exactly the subset you want to investigate.

Filter bar and violations table with badges and row action buttons

For example, select Critical severity and a specific rule to see only those violations across the selected scope:

Violations table filtered by severity (Critical) and a specific rule

Once you find a violation, CC4M helps you move directly to the next step:

  • Go straight to the source — click the file name to open the exact line in the MATLAB editor, even for MATLAB code inside Simulink models, or click the rule ID to open the guideline behind it.
  • Act on the spot — apply an automatic fix where available, or record an exemption with a rationale, per violation or per file.

Fix, Fix all in file, Exempt and Exempt file buttons with the exemption rationale dialog

Violations that have already been exempted remain visible and are clearly marked. After a rerun, exemptions can be reported together with their rationale — see.

This tab offers a short path from finding a problem to understanding it to doing something about it.

The Rules tab: see what your coding standard is really doing

The Rules tab gives you a codebase-level view of the active rule configuration.

It lists every configured rule, including rules with zero violations, together with its description, severity, priority, and violation count. From here, you can jump directly to the corresponding findings.

All configured rules with their violation counts, including a rule with zero violations

This makes the coding standard itself easier to evaluate. Which rules consistently pass? Which rules trigger throughout the codebase? Which ones dominate in a particular component?

Your coding standard can evolve based on what the codebase actually shows.

The Files tab: explore the codebase by structure

The Files tab presents the checked files as a folder tree with Critical, Warning, Note, and total violation counts per file and folder.

Select files or folders directly in the tree to focus the dashboard on the part of the codebase you want to investigate. The selected scope carries through to the Dashboard, Violations, Run Info, and Reports tabs.

Folder tree with per-file and per-folder violation counts and the Expand all / Collapse all buttons

For larger repositories, this provides a natural way to explore code quality by product, subsystem, component, package, class, or any other structure already reflected in the codebase.

The Run Info tab: know exactly what was analysed

Useful code-quality results also need context. The Run Info tab records the run itself in collapsible sections, so you can see what was analysed, how CC4M was configured, and which environment produced the results.

It includes:

  • Files with Errors — files that could not be checked (for example, parse errors), with the error messages. Click a file name to open it in MATLAB at the error location.
  • Ignored Files — files that were skipped and why.
  • Analysis Settings — the selection type, priorities, severities, and options used for the run.
  • Configuration — the configuration file that was active, with a link to open it.
  • Exclusions — any include/exclude patterns applied.
  • Environment — CC4M version, MATLAB release, operating system, and user.
  • Toolboxes — the toolboxes installed in the environment that ran the check.

Run Info tab with the Files with Errors card expanded, plus Analysis Settings and Configuration cards

This makes a result set easier to understand, reproduce, and discuss with other engineers.

The Reports tab: explore more than violations

CC4M can report much more than coding-rule violations. If your configuration includes standard reports — functions, variables, dependencies, complexity, cell arrays, binary expressions, MEX files, MATLAB exemptions, or CC4M exemptions — their results are included in the dashboard as well.

Standard report sections inside the dashboard

These reports use the same interactive, filterable approach, so you can explore them in the context of the file and folder scope you are already investigating rather than treating them as separate outputs.

Working with the dashboard

The dashboard remains connected to the CC4M analysis that created it.

Two buttons in the header take you directly back into the workflow:

  • Open GUI — opens the CC4M user interface, so you can adjust the configuration or selection and run again.
  • Rerun — reruns exactly this check, with the same selection and configuration, from within the report.

That supports a natural iterative workflow:

analyse → explore → focus → fix → rerun

The dashboard is a self-contained HTML file: all results are embedded in it, and it renders in any modern browser. To share it with a colleague, send the .html file together with the cc4m-report-2.22 folder that sits next to it.

The "open in MATLAB" links and the Fix/Rerun buttons require MATLAB. Everything else — browsing, filtering, and sharing — works anywhere.

Getting started

The new dashboard is available in beta with CC4M 2.22. It has been verified on MATLAB R2021a and later.

You can generate it from the GUI or from the command line.

From the GUI, enable the dashboard once on the MATLAB command line:

monkeyproof.cc4m.GuiSettings.set('DashboardReport', true);

After that, a dashboard is generated for every CC4M run.

From the command line, add the -generateDashboard flag to a regular monkeyproof.cc4m.start call:

% Folder analysis: CC4M detects that the input is a folder
    monkeyproof.cc4m.start( ...
        'file', 'C:\projects\myProject', ...
        'configFile', 'MonkeyProofMATLABCodingStandard', ...
        '-generateDashboard');
    
    % File analysis
    files = {'C:\projects\myProject\src\ballThrow.m', 'C:\projects\myProject\src\windModel.m'};
    monkeyproof.cc4m.start( ...
        'file', files, ...
        'configFile', 'MonkeyProofMATLABCodingStandard', ...
        '-generateDashboard');

All the usual selection options work as before — pass a file or folder to 'file' (CC4M detects by itself whether the input is a single file or an entire folder), or select a project, plus include/exclude patterns and changed-only scope.

After the run completes, CC4M writes the dashboard_<timestamp>.html file to your reports folder and opens it in the MATLAB web browser.

By default, the dashboard opens on the Violations tab. All tabs remain accessible, and the dashboard remembers the last viewed tab per browser.

Known issues

Because the dashboard is still in beta, two issues are worth knowing:

  • Older MATLAB releases use an outdated browser engine in their HTML viewer. This can cause minor layout issues in the dashboard.
  • In the latest MATLAB releases, clicking a link sometimes opens a CSP error page. Closing the HTML viewer and reopening the report from the file tree may resolve the issue.

Conclusion

The new dashboard makes CC4M results easier to explore, easier to discuss, and easier to act on — whether you are investigating one finding, reviewing a subsystem, or trying to understand the quality profile of a large MATLAB codebase.

If you already use CC4M, generate a dashboard for your own codebase with -generateDashboard and let us know what you think. Note down anything that is unclear, difficult to use, or not working as expected — including errors you encounter. And tell us what you find useful and what could be improved. We are continuing to refine the beta based on user feedback.

If you are new to CC4M, this is a good way to see what code-quality analysis can reveal beyond a list of violations. Talk to us about CC4M and what it can show in your MATLAB codebase.

More from CC4M

View all CC4M posts →

About M-code in a Simulink model

Your MATLAB algorithm passes all tests, but when you drop it into a Simulink model, suddenly it breaks — or worse, silently produces different results.

Read article →

Coding Guidelines: where to start?

Cleaning Up Large MATLAB Codebases Step by Step.

Read article →

GIT hooks and CC4M

Automated Code Checks with Git Hooks

Read article →

Curious what CC4M would reveal in your MATLAB codebase?

Explore how CC4M can help you understand, prioritise, and improve the quality of your MATLAB code.

Talk to us about your MATLAB codebase

© 2026 MonkeyProof Solutions B.V.

  • Terms & conditions
  • Privacy
  • License
We use cookies to personalise content and to analyse our web traffic.
OK
Manage your cookies
Essential site cookies
Google Analytics