A Genetic Algorithm for Automated Refactoring of Component-Based Software
DOI:
https://doi.org/10.4108/eai.3-12-2015.2262353Keywords:
genetic algorithm, refactoring, component-based software engineering, bad smellsAbstract
Nowadays a software undergoes modifications done by different people to quickly fulfill new requirements, but its underlying design is not adjusted properly after each update. This leads to the emergence of bad smells. Refactoring provides a de facto behavior-preserving means to eliminate these anomalies. However, manually determining and performing useful refactorings is known as an NP-Complete problem as stated by Harman et al. because seemingly useful refactorings can improve some aspect of a software while making another aspect worse. Therefore it has been proposed to view object-oriented automated refactoring as a search based technique. However the review of the litterature shows that automated refactoring of component-based software has not been investigated yet. Recently a catalogue of component-relevant bad smells has been proposed in the literature but there is a lack of component-relevant refactorings. In this paper we propose a catalogue of component-relevant refactoring as well as detections rules for component-relevant bad smells. Then we rely on these two ingredients to propose a genetic algorithm for automated refactoring of component-based software systems.
Downloads
Published
How to Cite
Issue
Section
License
This is an open-access article distributed under the terms of the Creative Commons Attribution CC BY 3.0 license, which permits unlimited use, distribution, and reproduction in any medium so long as the original work is properly cited.