The IntelliJ Platform: a Framework for Building Plugins and Mining Software Data
Zarina Kurbatova, Yaroslav Golubev, Vladimir Kovalenko, Timofey, Bryksin

TL;DR
This paper presents the IntelliJ Platform as a versatile framework for developing software engineering tools, highlighting its capabilities for data mining, machine learning, refactoring recommendations, and visualization within IDEs.
Contribution
It introduces the IntelliJ Platform's main features for research tool development and provides example plugins and templates for various use cases.
Findings
The platform supports diverse research applications like data mining and machine learning.
Existing plugins demonstrate practical implementations of these use cases.
Templates facilitate easier adoption and development of new plugins.
Abstract
In software engineering, a great number of new approaches are being actively researched, and a lot of tools are being developed based on them. These tools require a framework for their creation and an opportunity to be used by potential developers. Modern IDEs provide both. In this paper, we describe the main capabilities of the IntelliJ Platform that could be useful for researchers that are developing code analysis tools. To illustrate the benefits of using the platform, we describe several use cases that researchers might be interested in: mining software data, running machine learning models on code, recommending refactorings, and visualizing data in the IDE. We provide several examples of existing plugins that implement these cases. Finally, to make it easier to start working with the platform, we develop and provide simple plugins for each use case that could serve as a template…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
