DocumentCode :
963018
Title :
Conflict-aware schedule of software refactorings
Author :
Liu, Hongying ; Li, Guolin ; Ma, Z.Y. ; Shao, W.Z.
Author_Institution :
Sch. of Comput. Sci. & Technol., Beijing Inst. of Technol., Beijing
Volume :
2
Issue :
5
fYear :
2008
fDate :
10/1/2008 12:00:00 AM
Firstpage :
446
Lastpage :
460
Abstract :
Software refactoring is to restructure the internal structure of object-oriented software to improve software quality, especially maintainability, extensibility and reusability while preserving its external behaviours. According to predefined refactoring rules, we may find many places in the software where refactorings can be applied. Applying each refactoring, we may achieve some effect (quality improvement). If we can apply all of the available refactorings, we can achieve the greatest effect. However, the conflicts among refactorings usually make it impossible. The application of a refactoring may change or delete elements necessary for other refactorings, and thus disables these refactorings. As a result, the application order (schedule) of the available refactorings determines which refactorings will be applied, and thus determines the total effect achieved by the refactoring activity. Consequently, conflicting refactorings had better be scheduled rationally so as to promote the total effect of refactoring activities. However, how to schedule conflicting refactorings is rarely discussed.In this paper, a conflict-aware scheduling approach is proposed. It schedules refactorings according to the conflict matrix of refactorings and effects of each individual refactoring. The scheduling model is a multi-objective optimisation model. We propose a heuristic algorithm to solve the scheduling model. We also evaluate the proposed scheduling approach in non-trivial projects. Evaluation results suggest that refactoring activities with the scheduling approach lead to greater effect (quality improvement) than refactoring activities without explicit scheduling.
Keywords :
matrix algebra; object-oriented programming; optimisation; scheduling; software maintenance; software quality; software reusability; conflict matrix; conflict-aware software refactoring schedule; heuristic algorithm; multiobjective optimisation model; object-oriented software quality; software maintenance; software reusability;
fLanguage :
English
Journal_Title :
Software, IET
Publisher :
iet
ISSN :
1751-8806
Type :
jour
DOI :
10.1049/iet-sen:20070033
Filename :
4657467
Link To Document :
بازگشت