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 for a new project.
翻译:在软件工程方面,正在积极研究大量新的方法,并正在根据这些方法开发许多工具。这些工具需要建立其创建框架和潜在开发者利用这些工具的机会。现代 IDE 提供了两者。 在本文中,我们描述了Intellij平台的主要能力,这对正在开发代码分析工具的研究人员可能有用。为了说明使用该平台的好处,我们描述了研究人员可能感兴趣的几种使用案例:采矿软件数据,运行代码方面的机器学习模型,建议重新设定,以及将IDE中的数据直观化。我们提供了实施这些案例的现有插件的几个例子。最后,为了方便地开始与平台合作,我们为每个可以作为新项目模板的使用案例开发和提供简单的插件。