Refactoring practice: How it is and how it should be supported - An eclipse case study (bibtex)
by Xing, Zhenchang and Stroulia, Eleni
Abstract:
Refactoring is an important activity in the evolutionary development of object-oriented software systems. Yet, several questions about the practice of refactoring remain unanswered, such as what fraction of code modifications are refactorings and what are the most frequent types of refactorings. To gain some insight in this matter, we conducted a detailed case study on the structural evolution of Eclipse, an integrated-development environment (IDE) and a plugin-based framework. Our study indicates that: 1) about 70% of structural changes may be due to refactorings; 2) for about 60% of these changes, the references to the affected entities in a component-based application can be automatically updated by a refactoring-migration tool if the relevant information of refactored components can be gathered through the refactoring engine; and 3) state-of-the-art IDEs, such as Eclipse, support only a subset of commonly applied low-level refactorings and lack support for more complex ones, which are also frequent. Based on our findings, we draw some conclusions on high-level design requirements for a refactoring-based development environment
Reference:
Refactoring practice: How it is and how it should be supported - An eclipse case study (Xing, Zhenchang and Stroulia, Eleni), In IEEE International Conference on Software Maintenance, ICSM, 2006.
Bibtex Entry:
@inproceedings{Zhenchang2006,
abstract = {Refactoring is an important activity in the evolutionary development of object-oriented software systems. Yet, several questions about the practice of refactoring remain unanswered, such as what fraction of code modifications are refactorings and what are the most frequent types of refactorings. To gain some insight in this matter, we conducted a detailed case study on the structural evolution of Eclipse, an integrated-development environment (IDE) and a plugin-based framework. Our study indicates that: 1) about 70{\%} of structural changes may be due to refactorings; 2) for about 60{\%} of these changes, the references to the affected entities in a component-based application can be automatically updated by a refactoring-migration tool if the relevant information of refactored components can be gathered through the refactoring engine; and 3) state-of-the-art IDEs, such as Eclipse, support only a subset of commonly applied low-level refactorings and lack support for more complex ones, which are also frequent. Based on our findings, we draw some conclusions on high-level design requirements for a refactoring-based development environment},
author = {Xing, Zhenchang and Stroulia, Eleni},
booktitle = {IEEE International Conference on Software Maintenance, ICSM},
doi = {10.1109/ICSM.2006.52},
isbn = {0769523544},
issn = {1063-6773},
keywords = {cocome_lit-review,object-oriented programming;software libraries;software tools;Eclipse case study;component-based application;evolutionary development;integrated-development environment;object-oriented software systems;plugin-based framework;refactored components;refactoring engine;refactoring-based development environment;refactoring-migration tool;software refactoring practice;Algorithm design and analysis;Application software;Costs;Documentation;Engines;Large-scale systems;Object oriented modeling;Software design;Software packages;Software systems},
mendeley-tags = {cocome_lit-review},
pages = {458--467},
title = {{Refactoring practice: How it is and how it should be supported - An eclipse case study}},
year = {2006}
}
Powered by bibtexbrowser