2008 · 156 citations · 19 references
ComputingChange ManagementComputer ScienceProgramming LanguagesRecommender SystemsSoftware EngineeringSoftware DesignSoftware EvolutionSoftware MaintenanceSoftware RefactoringRefactoringSoftware Evolution AnalysisSource Code Change Analysis
In the course of a framework's evolution, changes ranging from a simple refactoring to a complete rearchitecture can break client programs. Finding suitable replacements for framework elements that were accessed by a client program and deleted as part of the framework's evolution can be a challenging task. We present a recommendation system, SemDiff, that suggests adaptations to client programs by analyzing how a framework adapts to its own changes. In a study of the evolution of the Eclipse JDT framework and three client programs, our approach recommended relevant adaptive changes with a high level of precision, and detected non-trivial changes typically undiscovered by current refactoring detection techniques.
19
Using task context to improve programmer productivity
Mik Kersten, Gail C. Murphy · 2006 · 447 citations
Johannes Henkel, Amer Diwan · 2005 · 274 citations