Talks and keynotes

Machine Learning meets IDEs: A JetBrains Case

December 12, 2022

Talk, Cyprus Open, Limassol, Cyprus

Machine learning is a hot topic almost in every domain right now, including software engineering. More and more research papers are being published, introducing new approaches and improving existing ones, solving dozens of different tasks in this domain. Many of these papers report very high quality of their models, so sometimes reading them leaves you wondering, why don't we see features like this in our development tools? Well, in most cases, it is not that straightforward. In this talk, I discuss the way research ideas and academic prototypes find their way into software products at JetBrains. I will show several cases of how machine learning approaches are integrated into a modern IDE used by millions of developers every day. I will also highlight the challenges we usually face while doing it and discuss the promising research areas in this field.

Integrating Refactoring Recommendation into an IDE: A JetBrains Story

November 14, 2021

Talk, IWoR'21, Virtual

Refactoring has been with us for more than two decades already. Multiple papers are being published every year on the detection of code smells and recommendations of refactoring opportunities. Many of these papers report very high quality of their approaches, so reading them often leaves me wondering, why don't we see features like this in our development tools? In this talk, I am going to tell a story of how we migrated refactoring recommendation prototypes into IntelliJ Platform: how data-driven IDE features are being born, what challenges we usually face while doing it, and how this could be useful to researchers.

Machine Learning and IDE: A JetBrains Case

September 29, 2021

Talk, ICSME'21, Virtual

Machine learning is a hot topic almost in every domain right now, including software engineering. More and more research papers are being published, introducing new approaches and improving existing ones, solving dozens of different tasks in this domain. Many of these papers report very high quality of their models, so sometimes reading them leaves you wondering, why don't we see features like this in our development tools? Well, in most cases, it is not that straightforward. In this talk, I discuss the way research ideas and academic prototypes find their way into software products at JetBrains. I will show several cases of how machine learning approaches are integrated into a modern IDE used by millions of developers every day. I will also highlight the challenges we usually face while doing it and discuss the promising research areas in this field.

Code anomalies in Kotlin programs

February 03, 2019

Talk, FOSDEM'19, Brussels, Belgium

This talk discusses code anomalies — code fragments that are written in some way that is not typical for the programming language community. Such code fragments are useful for language creators as performance tests, or they could provide insights on how to improve the language. With Kotlin as the target language, we discuss how the task of detecting code anomalies for a very large codebase could be solved using well-known anomaly detection techniques. We outline and discuss approaches to obtain code vector representation and to perform anomaly detection on such vectorized data. The talk highlights examples of such anomalies found in open source GitHub repositories.