CIRef: A Tool for Visualizing the Historical Data of Software Refactorings in Java Projects
Resumo
Context: Refactorings are actions developers do not often do in a standard way. One of the reasons is the lack of visualizations in current tools capable of identifying refactorings. Code visualizations can help developers make decisions about analyzing code quality and possible code refactorings. Objective: We present CIRef, a tool for visualizing the historical data of refactorings in Java projects. For a particular project, CIRef provides a wide range of visualizations including customizable rankings of the importance of different refactoring types, duels between developers to understand their profiles, and a timeline of the number of refactorings performed. Method: To validate the acceptance and perceived usefulness of CIRef, we conducted a study with eight developers using the Technology Acceptance Model (TAM). Results: The results indicate that 75% of the participants agreed with using the tool in the future and found it easy to use. Conclusions: Beyond supporting developers in visualizing historical refactoring data, CIRef also has the potential for educational purposes. It can help teachers visualize the history of refactorings performed by students, especially in educational environments focused on programming and maintaining Java projects. Video link: https://figshare.com/s/99c9e2ca3fb227b649a1