Despite the enormous success that manual and automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool builders, and researchers. Many previous approaches to study refactorings are based on comparing code snapshots, which is imprecise, incomplete, and does not allow to answer research questions that involve time or compare manual and automated refactoring. We present the first empirical study that considers both manual and automated refactoring. This study is enabled by our novel algorithm, which infers refactorings from continuous changes. We applied this algorithm to the code evolution data collected f...
Even though modern Integrated Development Environments (IDEs) support many refactorings, studies sug...
Refactoring is a well-established practice that aims at improving the internal structure of a softwa...
One of the costs of reusing software components is migrating applications to use the new version of ...
Despite the enormous success that manual and automated refactoring has enjoyed during the last decad...
Despite the enormous success that manual and automated refactoring has enjoyed during the last decad...
Developers frequently undertake software change tasks that could be partially or fully automated by ...
Refactoring aims at improving the internal structure of a software system without changing its exter...
Though refactoring tools have been available for more than a decade, research has shown that program...
Refactoring, as coined by William Obdyke in 1992, is the art of optimizing the syntactic design of a...
This is the dataset that accompanies the study: "How Do I Refactor This? An Empirical Study on Refac...
It is widely believed that refactoring improves software qual-ity and programmer productivity by mak...
It is widely believed that refactoring improves software quality and programmer productivity by maki...
Software development is a messy process filled with an assortment of widely varying practices, proce...
Code refactoring, the act of changing the design of code without affecting its functionality, is a r...
Many iterative software development methodologies, such as for example eXtreme Programming, state th...
Even though modern Integrated Development Environments (IDEs) support many refactorings, studies sug...
Refactoring is a well-established practice that aims at improving the internal structure of a softwa...
One of the costs of reusing software components is migrating applications to use the new version of ...
Despite the enormous success that manual and automated refactoring has enjoyed during the last decad...
Despite the enormous success that manual and automated refactoring has enjoyed during the last decad...
Developers frequently undertake software change tasks that could be partially or fully automated by ...
Refactoring aims at improving the internal structure of a software system without changing its exter...
Though refactoring tools have been available for more than a decade, research has shown that program...
Refactoring, as coined by William Obdyke in 1992, is the art of optimizing the syntactic design of a...
This is the dataset that accompanies the study: "How Do I Refactor This? An Empirical Study on Refac...
It is widely believed that refactoring improves software qual-ity and programmer productivity by mak...
It is widely believed that refactoring improves software quality and programmer productivity by maki...
Software development is a messy process filled with an assortment of widely varying practices, proce...
Code refactoring, the act of changing the design of code without affecting its functionality, is a r...
Many iterative software development methodologies, such as for example eXtreme Programming, state th...
Even though modern Integrated Development Environments (IDEs) support many refactorings, studies sug...
Refactoring is a well-established practice that aims at improving the internal structure of a softwa...
One of the costs of reusing software components is migrating applications to use the new version of ...