Understanding Refactoring Tasks over Time: A Study Using Refactoring Graphs

Aline Brito, André Hora, Marco Túlio Valente · 2022

Refactoring is a fundamental practice in modern software development. Therefore, it is essential that practitioners have a solid understanding of refactoring, both in theory and in practice. In this paper, we rely on a graph-based abstraction — called refactoring graphs — to visualize and analyze refactorings performed by students in a canonical refactoring application: the Video Store System, proposed by Fowler. We asked 46 students to perform the refactorings included in this example under two scenarios: according to a list of explicit guidelines, where most students performed the tasks successfully; and by using flexible ones, in which a part of the students faced problems identifying the appropriate operations. We conclude by presenting discussions and implications.

Read the paper · More papers on PaperTik