Reduce the risk of migrating algorithms to a new software environment

New software versions are a reality so why not be ready for them

VersionBay will report out on compatibility, test coverage, performance and memory usage of a new software version

VersionBay will write regression tests and prove a safe migration


If you would like to minimize the risk in migrating algorithms to new software environments


Some examples of what we do


MATLAB

inv(a)
pinv(a)
rank(a)
a\b
[U,S,V] = svd(a)
chol(a)
[V,D] = eig(a)

Python

linalg.inv(a)
linalg.pinv(a)
linalg.matrix_rank(a)
linalg.solve(a,b)
U, S, Vh = linalg.svd(a)
linalg.cholesky(a).T
D,V = linalg.eig(a)

Convert MATLAB algorithms to Python proving numerical equivalence

Migrate code to a newer version of MATLAB maintaining numerical accuracy

Notice the Live Editor Task. It also generates MATLAB code.

load('patients.mat')
tbl = table(Diastolic,Smoker,Systolic);
p = parallelplot(tbl)

This examples shows a new plotting function for tables that was released in R2019a: parallelplot.

Train your team and leverage latest features when migrating to newer software environments

Write regression tests to report on compatibility between software environments

Quantify the impact of execution time and memory usage of your algorithms

Write tests to achieve your coverage testing goal

Notice in the image the usage of a subsystem reference – controller block with the 2 triangles in the corners – that was released in R2019b.

Migrate your models to a newer version of Simulink maintaining numerical accuracy