Title :
Ranking Refactoring Suggestions Based on Historical Volatility
Author :
Tsantalis, Nikolaos ; Chatzigeorgiou, Alexander
Author_Institution :
Dept. of Appl. Inf., Univ. of Macedonia, Thessaloniki, Greece
Abstract :
The widespread acceptance of refactorings as a simple yet effective approach to improve the design of object-oriented systems, has stimulated an effort to develop semi-automatic tools for detecting design flaws, with simultaneous suggestions for their removal. However, even in medium-sized projects the number of detected occurrences can be so large that the refactoring process becomes intractable for the designer. It is reasonable to expect that some of the suggested refactorings will have a significant effect on the improvement of maintainability while others might be less important. This implies that the suggested solutions can be ranked according to one or more criteria. In this paper we propose the exploitation of past source code versions in order to rank refactoring suggestions according to the number, proximity and extent of changes related with the corresponding code smells. The underlying philosophy is that code fragments which have been subject to maintenance tasks in the past, are more likely to undergo changes in a future version and thus refactorings involving the corresponding code should have a higher priority. To this end, historical volatility models drawn from the field of forecasting risk in financial markets, are investigated as measures expressing the urgency to resolve a given design problem. The approach has been integrated into an existing smell detection Eclipse plug-in, while the evaluation results focus on the forecast accuracy of the examined models.
Keywords :
object-oriented methods; risk management; software maintenance; source coding; stock markets; code fragments; design flaw detection; financial markets; historical volatility model; object-oriented system design; refactoring suggestion ranking; risk forecasting; smell detection Eclipse plug-in; source code version; Context; Forecasting; Maintenance engineering; Object oriented modeling; Predictive models; Smoothing methods; Software; code smell; forecasting models; historical volatility; refactoring; software history; software repositories;
Conference_Titel :
Software Maintenance and Reengineering (CSMR), 2011 15th European Conference on
Conference_Location :
Oldenburg
Print_ISBN :
978-1-61284-259-2
DOI :
10.1109/CSMR.2011.7