fdep: a pedestrian function dependencies finder
Editor's Note: This file was selected as MATLAB Central Pick of the Week
FDEP dissects MATLAB files and iteratively looks for all user defined functions (modules), which are used during runtime
FDEP retrieves for each module its
- subfunctions
- nested functions
- anonymous functions
- eval class calls
- unresolved calls
and all
- ML stock functions
- ML built-in functions
- ML classes
- ML toolboxes
that it uses
runtime options and returned macros create user-friendly,
intuitively comprehensible, and interactive GUIs, which
- list the results in various panels and listboxes
- plot a full synopsis for each module with
exhaustive information
- plot a full dependency matrix
- plot a runtime and modules tree
in essence, FDEP is a wrapper for DEPFUN and MLINT; however, due to an efficient pruning engine it is considerably (20-100 times!) faster
FDEP is particularly useful if you want to distribute your functions and need so see what else to include as well as the toolboxes they use
FDEP may be useful to debug an erroneous function with correct syntax
see
> help fdep
and the accompanying published M-file for help and an exhaustive example
Cite As
us (2024). fdep: a pedestrian function dependencies finder (https://www.mathworks.com/matlabcentral/fileexchange/17291-fdep-a-pedestrian-function-dependencies-finder), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Software Development Tools >
- MATLAB > Language Fundamentals > Data Types > Characters and Strings > String Parsing >
Tags
Acknowledgements
Inspired by: detab: a pedestrian string detabulator, farg: a pedestrian M-file parser showing all used functions' syntax
Inspired: ftoc (v1.2), GraphViz-like tools for MATLAB, dep (unmaintained), plot_subfun, plot_depfun
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.7.0.0 | all files now are read by very fast low-level i/o subroutines; version tag 21-Jun-2010 02:16:53 |
||
1.6.0.0 | now takes care of a very rare anomaly; version tag 17-Jun-2010 20:28:11 |
||
1.5.0.0 | changes in the lint-engine (r2010+); version tag 26-May-2010 11:15:35 |
||
1.4.0.0 | clicking on a toolbox in the tbx panel now highlights in the modules list all modules, which use this tbx (user request); a new output field contains a comprehensive listing of tbxs and the modules they use the tbx; version tag 30-Jan-2010 03:30:06 |
||
1.3.0.0 | the parser now accepts meta method class descriptors, which takes care of Andreas's problem; version tag 18-Jun-2009 09:41:57 |
||
1.1.0.0 | added a runtime/modules tree display, more information in the module synopsis, new macros, version tag 08-Jun-2009 22:24:13 |
||
1.0.0.0 | floating button list for main tasks; vastly enhanced module synopsis window contents and functionality; new window manager to easily find a FDEP associated window and bring it to the top; enhanced help module; version tag 11-Jul-2008 18:28:12 |