What it understands

A compiler understands your code. We have to understand it better.

A compiler understands your code well enough to build it; CodeLaser has to understand it well enough to change it. It resolves every type and tracks every reference the way a compiler front end does, then keeps going — how types relate and what can stand in for what, what is reachable from where, how data moves between fields and methods, and what else has to change when you change one thing.

That picture stays up to date while you work, so the answer you get is true of the code as it stands now.

What it does with it

Ask for a change; get the whole edit.

The engine works out the full edit, checks it, and applies it. That is what makes the big jobs practical.

Clear out dead code

Across a whole module, not a file at a time.

Split a 200-method class

The extract, the moves, the call sites, the imports.

Break a dependency cycle

Move the one dependency that creates it.

How your agent connects

Over MCP or driving it in Python.

Either way the division of labour is the same: the agent explores the codebase and decides what should change; the engine decides how to make that change safely, and does it the same way every time.

Where we come from

The analyzer underneath is open source.

The analysis engine underneath CodeLaser is older than the company and is open source. maddi is the analyzer; the commercial engine is built on it.

Belgian company

Founded in 2023.

The analyzer is older

Started in 2020 as e2immu; maddi is the rewrite.

It stays open

maddi is open source, and remains so.

© 2026 CodeLaser · Belgium