Research group

Machine Learning Methods in Software Engineering

Move Method Recommendation

Timofey BryksinInactive

In this project, we propose an approach to recommend Move Method refactoring based on a path-based representation of code called code2vec that is able to capture the syntactic structure and semantic information of a code fragment. We use this code representation to train a machine learning classifier suggesting to move methods to more appropriate classes. We evaluate the approach on two publicly available datasets: a manually compiled dataset of well-known open-source projects and a synthetic dataset with automatically injected code smell instances. The results show that our approach is capable of recommending accurate refactoring opportunities and outperforms JDeodorant and JMove, which are state of the art tools in this field.

Participants

Publications

Recommendation of Move Method Refactoring Using Path-Based Representation of Code

June 2020

Zarina Kurbatova, Ivan Veselov, Yaroslav Golubev and Timofey Bryksin

Read more