Research that becomes real analysis and testing tools
Interpretica grew out of program-analysis research. The methods we publish and prototype turn directly into Visao, TS Factory, Delta and Midair.
Peer-reviewed publications. Research that goes into our tools.
Maxim Menshikov (Founder and CEO) has a body of peer-reviewed work on static analysis, program-analysis intermediate representations and developer tools.
Several of these results are now part of our platform, among them the Midair IR and the Visao engine.
Research directions. Each one produced something we ship.
Each direction solves a concrete problem in analysing and testing complex software. Each one produced results we ship or rely on today.
Language-agnostic static analysis
One analyzer, many languages. Instead of maintaining a separate tool per language, we lower source code into a shared semantic representation and reason about that, so a detector written once works across a codebase.
The Midair intermediate representation and the Visao engine.
Midair: An Intermediate Representation for Multi-purpose Program Analysis (ICCSA 2020); Scalable semantic virtual machine framework for language-agnostic static analysis (GRID 2018).
Reasoning about program behavior
We combine model checking with abstract interpretation to explore how code behaves across execution paths. This finds defects that come from complex interactions inside a program, beyond known bug patterns.
Equid, our earlier static-analysis framework, is the direct predecessor of the Visao engine. The path-sensitive detectors in Visao grew out of this work.
Equid: a static analysis framework for industrial applications (ICCSA 2019).
Report quality: findings you can act on
A finding is only useful if an engineer can act on it. We research how to measure and improve the completeness and relevance of analysis output, and how to cut the false positives that erode trust.
The 5W+1H report-quality measure. It guides how Visao ranks and presents findings.
5W+1H static analysis report quality measure (TMPA 2017).
Resident and scalable analysis
Analysis should run continuously and incrementally on large codebases, without a slow batch step. We study resident analyzers that stay live, and service models that deliver analysis at scale.
The way Visao integrates into CI/CD and stays fast on big projects.
Towards a resident static analysis (ICCSA 2019); Review of static analyzer service models (Proceedings of ISP RAS, 2021).
Embedded and resource-constrained systems
Testing and virtualization for constrained devices, firmware and network hardware. Here, reproducing the exact environment is half the problem. We research how to isolate, snapshot and run tests on such targets reliably.
It shapes the device labs in TS Factory and the runtime capture in Delta.
Design and testing of an LXC-based virtualization system for resource-constrained MIPS devices (SEIM 2018).
Distributed testing and runtime observability
How to run large multi-host test scenarios and record the exact environment of each result. And how to connect runtime evidence back to the code findings that explain it.
TS Factory for distributed testing and Delta for runtime monitoring, connected by Midair.
Selected publications. 11 years of program analysis.
Full list and citations-
2021
- Review of static analyzer service modelsProceedings of ISP RAS
-
2020
- Midair: An Intermediate Representation for Multi-purpose Program AnalysisICCSA
-
2019
- Equid: a static analysis framework for industrial applicationsICCSA
- Towards a resident static analysisICCSA
-
2018
- Scalable semantic virtual machine framework for language-agnostic static analysisGRID
- Design and testing of an LXC-based virtualization system for resource-constrained MIPS devicesSEIM
-
2017
- 5W+1H static analysis report quality measureTMPA
Market research. Independent reports on our industry.
Company overviews, tool comparisons and AI-risk analysis for the testing, static analysis and cybersecurity market.
View reports