Reach/Coreach Tool

Version 2.3 (1.14 MB) by McSCert
The tool highlights data/control flow dependencies in Simulink models and performs model slicing.
Updated 18 Aug 2021

The Reach/Coreach Tool tracks and highlights data flow and control flow in the model. The tool identifies, for some specified Simulink blocks, parts of the model that depend on those blocks (Reach functionality), or parts of the model that the specified blocks depend upon (Coreach functionality). After the dependencies have been identified, the extraneous blocks can be removed via the tool's model slicing function.

• For installation instructions and instructions on how to use the tool, please see the included Reach-Coreach/doc/ReachCoreach_UserGuide.pdf.

• This tool relies on our Simulink Utility. Please download it here:

For more about the capabilities of the tool and how it can be used in model-based development with Simulink, see the two papers:

[1] Vera Pantelic, Steven Postma, Mark Lawford, Alexandre Korobkine, Bennett Mackenzie, Jeff Ong, Marc Bender, "A Toolset for Simulink: Improving Software Engineering Practices in Development with Simulink," In Proceedings of 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2015), SCITEPRESS, 2015, 50-61. DOI: (Best Paper Award)

[2] Vera Pantelic, Steven Postma, Mark Lawford, Monika Jaskolka, Bennett Mackenzie, Alexandre Korobkine, Marc Bender, Jeff Ong, Gordon Marks, Alan Wassyng, “Software engineering practices and Simulink: bridging the gap,” International Journal on Software Tools for Technology Transfer (STTT), 2017, 95–117. DOI:

Cite As

McSCert (2024). Reach/Coreach Tool (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2018b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Modeling in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

See release notes for this release on GitHub:


See release notes for this release on GitHub:


– Fixed bugs to improve correctness of results.
– Fixed bugs causing errors in different scenarios.
– Colour selection dropboxes in the GUI now show the values of the current colours.
– Updated user guide.


– Major performance improvements when run on large models
– Grounding/terminating unconnected ports after a slice
– Highlighting no longer opens up every subsystem where a block/signal was highlighted

Fixed a minor bug.

Fixed bug involving coreaching from selected lines.

Updating "Other Requirements" field to reflect that the tool has been testing with R2017a.
Fixed recursion bugs. Optimized highlighting operation.
Updating tool name.

Fixed bugs regarding highlighting for data stores, if blocks, and use with 2016b.
Formatted description text.

– Improved usability, handling of buses
– The tool now tracks through For Each subsystems
– Fixed some issues including problems with running the tool on models with data store and Goto/From shadowing

– The accuracy of tracking through If and Switch Case blocks has been increased.
– Fixed bugs in function Clear.
– The colouring is now done with Simulink's built-in highlighting system.

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.