simulink-explain-missing-coverage

Explains why Simulink Coverage objectives are missing on an existing coverage result.

1.0k|98|Updated Apr 15, 2026
One-click install
npx skills add https://github.com/matlab/simulink-agentic-toolkit --skill simulink-explain-missing-coverage
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: simulink-explain-missing-coverage
Source: https://github.com/matlab/simulink-agentic-toolkit/tree/main/skills-catalog/verification-validation-and-test/simulink-explain-missing-coverage
Command: npx skills add https://github.com/matlab/simulink-agentic-toolkit --skill simulink-explain-missing-coverage

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Engineers reviewing Simulink Coverage results often cannot tell whether an uncovered decision, condition, MCDC, relational-boundary, or saturation outcome is provably dead logic, an untested reachable path, or intentional defensive design. This Skill analyzes an existing coverage result and explains why each objective is missing, separating formal facts from engineering judgment.

Core Features & Use Cases

  • Coverage summarization: Reads an existing cvdata, .cvt file, sim-with-coverage output, or Simulink Test result and reports satisfied versus unsatisfied objectives per system, worst-first.
  • Dead-logic detection: Runs Simulink Design Verifier dead-logic analysis on decision, condition, and MCDC outcomes and joins verdicts to coverage outcomes deterministically, distinguishing provably dead from reachable-but-untested.
  • Root-cause tracing: Uses Model Slicer to trace each uncovered outcome to its controllable inputs and dependency chain, then recommends a test scenario, a coverage filter (Justify mode), or a design review.
  • Use Case: After running coverage on a controller model, ask why specific MCDC outcomes are uncovered; the Skill proves which are dead logic, traces the rest to their driving inports, and proposes the exact input conditions a new test must drive.

Quick Start

Ask the agent to explain why coverage objectives are missing in my existing coverage result file results.cvt and recommend how to close each gap.

Frequently Asked Questions about simulink-explain-missing-coverage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find out why Simulink Coverage objectives are uncovered?

Load your existing coverage result (cvdata, .cvt file, or Simulink Test result) and ask the agent to explain the missing objectives. The Skill summarizes uncovered outcomes, runs SLDV dead-logic detection where applicable, and traces each gap to its controllable inputs.

How can I tell if uncovered Simulink logic is dead code or just untested?

The Skill runs Simulink Design Verifier dead-logic detection on decision, condition, and MCDC outcomes and joins the verdicts to your coverage result. Provably dead outcomes are reported as fact; reachable-but-untested outcomes get a recommended test scenario.

Does this skill collect coverage by simulating the model?

No. It only reads a coverage result that already exists, such as a cvdata object, .cvt file, or Simulink Test result set. You must collect coverage first with cvsim, sim with coverage enabled, or Simulink Test.

What MATLAB toolboxes are required for coverage gap analysis?

It requires MATLAB R2023a or later with Simulink Coverage, Simulink Design Verifier for dead-logic detection, and Simulink Check for Model Slicer input tracing. Requirements Toolbox is optional for prioritizing outcomes by requirement linkage.

Can it justify intentional dead logic with a coverage filter?

Yes, it can author a .cvf coverage filter in Justify mode using the slcoverage API, but only after explicit user approval. The engineer must confirm the dead logic is intentional and provide the rationale, which is recorded in the filter rule.

What happens if Simulink Design Verifier or Model Slicer licenses are unavailable?

The affected step degrades honestly: dead-logic status is reported as not established, and tracing falls back to reading block structure with model_read and model_overview. The Skill never fabricates reachability verdicts or input chains.