LiveRef: a Tool for Live Refactoring Java Code
Open Access
- 10 October 2022
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 1-4
Abstract
Refactoring software can be hard and time-consuming. Several refactoring tools assist developers in reaching more readable and maintainable code. However, most of them are characterized by long feedback loops that impoverish their refactoring experience. We believe that we can reduce this problem by focusing on the concept of Live Refactoring and its main principles: the live recommendation and continuous visualization of refactoring candidates, and the immediate visualization of results from applying a refactoring to the code. Therefore, we implemented a Live Refactoring Environment that identifies, suggests, and applies Extract Method refactorings. To evaluate our approach, we carried out an empirical experiment. Early results showed us that our refactoring environment improves several code quality aspects, being well received, understood, and used by the experiment participants. The source code of our tool is available on: https://github.com/saracouto1318/LiveRef. Its demonstration video can be found at: https://youtu.be/_jxx21ZiQ0o.Keywords
Funding Information
- Fundação para a Ciência e a Tecnologia
This publication has 12 references indexed in Scilit:
- Live software development2019
- Live versioning of web applications through refactoring2018
- Using Program Slicing to Detect the Dead Code2018
- Textual Analysis for Code Smell Detection2015
- Identifying refactoring sequences for improving software maintainability2012
- Software systems as cities2011
- Playing with refactoring: Identifying extract class opportunities through game theory2010
- Visualization of the Static Aspects of Software: A SurveyIEEE Transactions on Visualization and Computer Graphics, 2010
- Identification of Move Method Refactoring OpportunitiesIEEE Transactions on Software Engineering, 2009
- Seesoft-a tool for visualizing line oriented software statisticsIEEE Transactions on Software Engineering, 1992