Tools

JetBrains Research develops a lot of useful practical tools for various software engineering purposes. Some of these tools support research, some are meant for the end-users. This page aims to list all of our main tools.

AntiCopyPaster

A plugin for IntelliJ IDEA that tracks the pasting of code inside the IDE and suggests appropriate Extract Method refactorings to combat the propagation of duplicates.

Tool Paper Paper pre-print

Buckwheat

A multi-language tokenizer for extracting identifiers from source code.

Tool

IntelliJDeodorant

An IntelliJ IDEA plugin that detects code smells in Java code and recommends appropriate refactorings to resolve them.

Tool

KInference

A library that makes possible execution of complex ML models (written via ONNX) in vanilla Kotlin.

Tool

Kotless

Kotlin serverless framework that aims to reduce the routine of serverless deployment creation by generating it straight from the code of the application itself.

Tool Video Paper Paper pre-print

PythonChangeMiner

A tool for creating fine-grained program dependence graphs (fgPDG) for Python code, creating change graphs from them, and mining these graphs for change patterns.

Tool Paper pre-print

Revizor

A plugin for PyCharm that takes the recurrent change patterns and highlights potential places for their application in the developerโ€™s code editor.

Tool Video Paper Paper pre-print