Исследовательская группа

Методы машинного обучения в области программной инженерии

Проект ArchitectureReloaded: плагин IDEA для автоматического рефакторинга

September 18

Цель плагина – анализировать код открытого в IDEA проекта и предлагать программисту возможные направления для рефакторинга, улучшающие такие характеристики, как сопряжение (cohesion), связанность (coupling) и ряд других метрик объектно-ориентированной архитектуры.

Для классов проекта, их полей и методов вычисляется набор ключевых характеристик, описывающий отношения выбранной сущности с другими классами, полями и методами проекта. На основе этих характеристик запускаются несколько алгоритмов кластеризации, пытающихся перераспределить поля и методы по классам, минимизируя эмпирически подобранную функцию расстояния над наборами характеристик.

В настоящий момент реализовано пять алгоритмов. Далее между этими алгоритмами происходит процесс голосования, и набравшие наибольшее число голосов рефакторинги предлагаются пользователю как наиболее вероятные.

Докладчик: Тимофей Брыксин, руководитель группы "Методы машинного обучения в области программной инженерии".

Время начала семинара: 19:00.

Материалы