miss_hit
miss_hit copied to clipboard
MATLAB Independent, Small & Safe, High Integrity Tools - code formatter and more
Cyclomatic complexity is based on the control flow of graph of the program. As a result of that the cyclomatic complexit of the following two pieces of code are different....
Might be nice to know in a larger codebase, what is and isn't used and how. Output would be a .dot file or similar.
Given 1 output in MATLAB or Simulink, fully identify all inputs that flow into that output. Unlike the Simulink "highlight to source" function, this should take into account combination (e.g....
Some questionable logic constructions: ``` if x y = true else y = false end ``` Or ``` x = y == true ``` Or ``` x = false if...
Functions that imply they return something in the name should actually return something. `get*` (should return something) `is*` or `has*` (should return a single boolean)
https://www.mathworks.com/help/matlab/ref/save.html MLint has a bug where this pattern raises a false alarm: ``` x = foo(); save('potato.mat', 'x'); ``` `x` is in fact not unused. But honestly, this is an...
* Provide a method for defining a set of functions * Provide a way to disallow calling these functions from any given function (transitively) Actually this is flow analysis, a...
Complain about: ``` self.verifyTrue(~something) self.verifyFalse(~something) ``` (In classes inheriting from the base testcase class.)
``` x = coder.nullcopy(define_foo()); x.bar = something; ``` Should produce a warning if x is not fully set afterwards.
All existing tools for MATLAB and Octave are unable to produce correct call graphs if there are classes involved.