Join waitlist

Features

Time travel synchronized with code navigation

As you navigate through the code, variable inspector shows you memory from the point in time corresponding to cursor location in the editor.
Go to definition of any function and inspect it's internal workings, move the text cursor around to travel in time back and forth.

Partial code execution with smart placeholders

Run your code no matter how incomplete your setup is. Gradually add external inputs such as configs, databases or connections to other services.
InlineVM will fill all unspecified inputs with smartly-behaving mocks, a technique known as symbolic execution. If behaviour of your code depends on something unknown, InlineVM will execute multiple paths and show you all possibilities.

Fast reloading with incremental updates

InlineVM monitors code modifications and reloads automatically.
Fine-grained tracking of data dependencies allows us to recompute only those parts of execution that has changed and re-use previous results.

Easy inspection of runtime errors

Catch errors early with live feedback in your editor. Quickly find root causes by inspecting full call stack and going back and forth in time.
Browsable execution trace of your program, always at your fingertips, always reflecting current version of your code. Launching debugger manually and cautious stepping through the code is a thing of the past!

How it works

At its core, InlineVM uses a static code analysis technique called abstract interpretation to calculate values and types of all expressions in a program. Given a control flow graph, a system of equations describing how the execution of each node influences the program state is generated and subsequently solved, providing a sound approximation of program behaviour. The analysis is performed on-the-fly and edges between CFG nodes are added dynamically, based on previously computed results.
If you are interested in more details, check out our white paper.

About us

We are a team of developers passionate about making lives of other developers more pleasant. Should you have any questions, feel free to contact us at:
franek@inlinevm.com