Software has been and is still mostly refactored without tool support. Moreover, as we found in our case studies, programmers tend not to document these changes as refactorings, or even worse label changes as refactorings, although they are not. In this paper we present a technique to detect changes that are likely to be refactorings and rank them according to the likelihood. The evaluation shows that the method has both a high recall and a high precision — it finds most of the refactorings, and most of the found refactoring candidates are really refactorings. 1
Despite the enormous success that manual and automated refactoring has enjoyed during the last decad...
Software developers are often faced with modification tasks that involve source which is spread acro...
Many iterative software development methodologies, such as for example eXtreme Programming, state th...
One of the costs of reusing software components is migrating applications to use the new version of ...
Refactoring is an important activity in the evolutionary development of object-oriented software sys...
Poorly structured code is hard to maintain and read. Refactoring can improve the code structure and ...
Automated techniques have been proposed to either identify refactoring opportunities (i.e., code fra...
Software maintenance is the lifecycle activity that consumes the greatest amount of resources. Maint...
Today, refactoring reconstruction techniques are snapshot-based: they compare two revisions from a s...
Code refactoring, the act of changing the design of code without affecting its functionality, is a r...
Today, refactoring reconstruction techniques are snapshot-based: they compare two revisions from a s...
Refactoring is a form of program transformation which preserves the semantics of the program. Refact...
Refactoring enhances software quality in an evolving system. Developers perform behavior-preserving ...
Reverse engineering is the process of uncovering the design and the design rationale from a function...
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...
Software developers are often faced with modification tasks that involve source which is spread acro...
Many iterative software development methodologies, such as for example eXtreme Programming, state th...
One of the costs of reusing software components is migrating applications to use the new version of ...
Refactoring is an important activity in the evolutionary development of object-oriented software sys...
Poorly structured code is hard to maintain and read. Refactoring can improve the code structure and ...
Automated techniques have been proposed to either identify refactoring opportunities (i.e., code fra...
Software maintenance is the lifecycle activity that consumes the greatest amount of resources. Maint...
Today, refactoring reconstruction techniques are snapshot-based: they compare two revisions from a s...
Code refactoring, the act of changing the design of code without affecting its functionality, is a r...
Today, refactoring reconstruction techniques are snapshot-based: they compare two revisions from a s...
Refactoring is a form of program transformation which preserves the semantics of the program. Refact...
Refactoring enhances software quality in an evolving system. Developers perform behavior-preserving ...
Reverse engineering is the process of uncovering the design and the design rationale from a function...
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...
Software developers are often faced with modification tasks that involve source which is spread acro...
Many iterative software development methodologies, such as for example eXtreme Programming, state th...