One of the costs of reusing software components is migrating applications to use the new version of the components. Migrating an application can be error-prone, tedious, and disruptive of the development process. Our previous work shows that more than 80% of the disruptive changes in four different components were caused by refactorings. If the refactorings that happened between two versions of a component could be automatically detected, a refactoring tool could replay them on applications. We present an algorithm that detects refactorings performed during component evolution. Our algorithm uses a combination of a fast syntactic analysis to detect refactoring candidates and a more expensive semantic analysis to refine the results. The expe...
Poorly structured code is hard to maintain and read. Refactoring can improve the code structure and ...
Refactoring enhances software quality in an evolving system. Developers perform behavior-preserving ...
This paper analyzes the influence of evolution activities such as refactoring on software defects. I...
One of the costs of reusing software components is migrating applications to use the new version of ...
Software developers like to reuse software components such as libraries or frameworks because it let...
Refactoring is an important activity in the evolutionary development of object-oriented software sys...
Despite the enormous success that manual and automated refactoring has enjoyed during the last decad...
Software has been and is still mostly refactored without tool support. Moreover, as we found in our ...
The automatic detection of refactoring recommendations has been tackled in prior optimization studie...
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...
Automated techniques have been proposed to either identify refactoring opportunities (i.e., code fra...
Nowadays a software undergoes modifications done by different people to quickly fulfill new requirem...
Software development is a messy process filled with an assortment of widely varying practices, proce...
Detecting refactoring instances occurred in successive revisions of software systems can provide wea...
Poorly structured code is hard to maintain and read. Refactoring can improve the code structure and ...
Refactoring enhances software quality in an evolving system. Developers perform behavior-preserving ...
This paper analyzes the influence of evolution activities such as refactoring on software defects. I...
One of the costs of reusing software components is migrating applications to use the new version of ...
Software developers like to reuse software components such as libraries or frameworks because it let...
Refactoring is an important activity in the evolutionary development of object-oriented software sys...
Despite the enormous success that manual and automated refactoring has enjoyed during the last decad...
Software has been and is still mostly refactored without tool support. Moreover, as we found in our ...
The automatic detection of refactoring recommendations has been tackled in prior optimization studie...
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...
Automated techniques have been proposed to either identify refactoring opportunities (i.e., code fra...
Nowadays a software undergoes modifications done by different people to quickly fulfill new requirem...
Software development is a messy process filled with an assortment of widely varying practices, proce...
Detecting refactoring instances occurred in successive revisions of software systems can provide wea...
Poorly structured code is hard to maintain and read. Refactoring can improve the code structure and ...
Refactoring enhances software quality in an evolving system. Developers perform behavior-preserving ...
This paper analyzes the influence of evolution activities such as refactoring on software defects. I...