ACM SIGPLAN Notices · 2010 · 17 citations · 18 references
ComputingComputer ScienceCompilersDesign AutomationSoftware EngineeringSoftware MaintenanceSoftware RefactoringSoftware ReuseAutomated RefactoringFunction DeclarationRefactoringRefactoring For MigrationSource Code ModificationSource Code Structure
Automated refactoring is a key feature of modern IDEs. Existing refactorings rely on the transformation of source code declarations, in which references may also be transformed as a side effect. However, there exist situations in which a declaration is not available for refactoring or would be inappropriate to transform, for example, in the presence of dangling references or where a set of references should be retargeted to a different declaration. We investigate the problem of dangling references through a detailed study of three open source libraries. We find that the introduction of dangling references during library migration is a significant real problem, and characterize the specific issues that arise. Based on these findings we provide and test a prototype tool, called Trident, that allows programmers to refactor references. Our results suggest that supporting the direct refactoring of references is a significant improvement over the state-of-the-art.
18
The TXL source transformation language
James R. Cordy · Science of Computer Programming · 2006 · 358 citations
Johannes Henkel, Amer Diwan · 2005 · 274 citations
Identifying Refactorings from Source-Code Changes
Peter Weißgerber, Stephan Diehl · 2006 · 194 citations
Recommending adaptive changes for framework evolution
Barthélémy Dagenais, Martin P. Robillard · 2008 · 156 citations · Full text