/veniq

Veniq uses Machine Learning to analyze source code, find possible refactorings, and suggest those that seem optimal

Primary LanguagePythonMIT LicenseMIT

Introduction

Almost every developer would be glad to delegate their routine tasks. Technical debt is the kind of routine we usually do not have time to do. Leaving technical debt may help product development in the short term, but can ruin the project in the long term.

A Long Method code smell and its Extract Method refactoring are among most popular refactorings developers do. However, there is no consensus how to do Extract Method exactly.

In our research project we are aimed to create an Extract Method recommender system using Machine Leanning. The system takes in a source-code of a Java method and recommends how decompose it into two parts.

We are interested in study factors inluencing how developers prefer to do Extract Method refactoring.