CIRef: A Tool for Visualizing the Historical Data of Software Refactorings in Java Projects

  • Marcos Silva UFC
  • Maykon Nunes UFC
  • Carla Bezerra UFC
  • Anderson Uchôa UFC
  • Mairieli Wessel Radboud University

Abstract


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

Keywords: Software visualization, Refactoring, Java projects
Published
2023-09-25
SILVA, Marcos; NUNES, Maykon; BEZERRA, Carla; UCHÔA, Anderson; WESSEL, Mairieli. CIRef: A Tool for Visualizing the Historical Data of Software Refactorings in Java Projects. In: BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES), 37. , 2023, Campo Grande/MS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 174–179. ISSN 2833-0633.