Finding refactorings via change metrics

9 years 3 months ago
Finding refactorings via change metrics
Reverse engineering is the process of uncovering the design and the design rationale from a functioning software system. Reverse engineering is an integral part of any successful software system, because changing requirements lead to implementations that drift from their original design. In contrast to traditional reverse engineering techniques --which analyse a single snapshot of a system-- we focus the reverse engineering effort by determining where the implementation has changed. Since changes of objectoriented software are often phrased in terms of refactorings, we propose a set of heuristics for detecting refactorings by applying lightweight, object-oriented metrics to successive versions of a software system. We validate our approach with three separate case studies of mature object-oriented software systems for which multiple versions are available. The case studies suggest that the heuristics support the reverse engineering process by focusing attention on the relevant parts o...
Serge Demeyer, Stéphane Ducasse, Oscar Nier
Added 25 Aug 2010
Updated 25 Aug 2010
Type Conference
Year 2000
Authors Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz
Comments (0)