Exception Analyzer - это система для сбора и обработки отчетов об ошибках возникших у пользователей. Примером таких отчетов могут служить исключения возникающие в IDEA. Такие отчеты состоят из стека вызовов в момент ошибки, а также другой информации об операционной системе и программе. Для обработки ошибок активно используется машинное обучение. С помощью него мы находим похожие отчеты и группируем их вместе, автоматически назначаем наиболее подходящего разработчика, который будет исправлять ошибку.
Сейчас мы много работаем над улучшением качества моделей за счет перехода от моделей классического машинного обучения к нейронным сетям. Можно было бы применить наработки в области DL к задаче предсказания разработчика, который будет исправлять случившуюся ошибку.
В отличие от обычных багтрекеров, где ошибка описывается текстом, наши ошибки описываются стектрейсами ошибок – состояниями программы на момент срабатывания исключения. Это не дает возможность напрямую применить подходы из обработки естественного языка, но некоторые идеи могут быть позаимствованы.
У нас есть репозиторий с кодом IntelliJ IDEA, который поддерживает много разработчиков. В ходе работы IDE у пользователя случается ошибка и она отправляется к нам в виде стектрейса. Хочется понять, кому из разработчиков назначить её исправлять. Разумеется такая задача встает не только у разработчиков IDEA.
Во время практики хочется создать модель предсказания разработчика, который будет исправлять ошибку. Предлагается сделать модель на нейронных сетях, так как именно они достигают наилучших результатов на этой задаче в последних статьях. Но это не является ограничением и мы готовы обсудить ваши идеи по решению этой задачи.
Кроме применение вашего кода в продакшене, в случае успешного прохождения практики возможна публикация статьи.
Контакты для вопросов: @aakhvorov, aleksandr.khvorov@jetbrains.com