Title :
Selecting sequence of refactoring techniques usage for code changing using greedy algorithm
Author :
Wongpiang, Ratapong ; Muenchaisri, Pornsiri
Author_Institution :
Dept. of Comput. Eng., Chulalongkorn Univ., Bangkok, Thailand
Abstract :
Refactoring is the process of changing the internal structure of software but it preserves external behavior of software. To improve software maintainability, we may apply several refactoring techniques to source code. Applying different sequence of refactoring techniques to different parts of source code results in different code changes and different level of software maintainability. We propose an approach for selecting sequence of refactoring techniques usage for code changing using Greedy Algorithm. To get optimal software maintainability, we create possible sequences of refactoring techniques usage and apply each refactoring technique to source code. Greedy Algorithm is used to separate the optimal sequence of refactoring techniques usage from possible sequences of refactoring techniques. We evaluate the approach with source code containing Long Method, Large Class and Feature Envy bad smells by comparing the changed source code result between applying the approach and without applying sequence of refactoring techniques usage. The compared results show that the changed source code by applying our approach can improve software maintainability better than the changed source code without sequencing refactoring techniques usage.
Keywords :
greedy algorithms; software maintenance; source code (software); code changing; greedy algorithm; optimal software maintainability; refactoring technique usage; sequence selection; source code; Complexity theory; Computers; Measurement; Software; Thyristors; Greedy Algorithm; Refactoring; Refactoring Sequencing; Software Maintainability;
Conference_Titel :
Electronics Information and Emergency Communication (ICEIEC), 2013 IEEE 4th International Conference on
Conference_Location :
Beijing
DOI :
10.1109/ICEIEC.2013.6835477