Static shape analysis for MATLAB. Catch dimension errors before runtime, no MATLAB license required.
function [x_upd, P_upd] = kalman_update(x, P, H, z, R)
y = z - H * x;
S = H * P * H' + R;
K = P * H' * inv(S);
x_upd = x + K * y;
P_upd = (eye(3) - K * H) * P; % bug: should be eye(4)
end
x = zeros(4, 1); P = eye(4);
H = [1 0 0 0; 0 1 0 0]; R = 0.5 * eye(2);
[x_upd, P_upd] = kalman_update(x, P, H, z, R);
W_ELEMENTWISE_MISMATCH line 6:
eye(3) - (K * H):
matrix[3 x 3] vs matrix[4 x 4]
Conformal tracks H, P, K through
each multiply, follows H' as the
transpose of H, and catches where
eye(3) conflicts with K * H.
Dimension mismatches appear as underlines while you type.
Conformal analyzes .m files directly without calling MATLAB, so it runs on any machine, including CI servers and laptops without a license.
Tested against 1,197 real-world files from 11 open-source repos. Zero crashes, zero false positives in default mode. 515 tests across 22 categories.
The VS Code extension runs analysis on every keystroke with a 500ms debounce. The analyzer is compiled to JavaScript and runs in-process, so there is no subprocess startup cost.
Conformal Migrate uses shape analysis to translate MATLAB to Python more accurately than a purely syntactic tool can. 168 builtins, shape-aware operator dispatch, and 1-to-0 index conversion with constant folding.