A Genetic Algorithm for Automated Refactoring of Component-Based Software

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 anom...

Full description

Bibliographic Details
Main Authors: Salim Kebir, Isabelle Borne, Djamel Meslati
Format: Article
Language:English
Published: European Alliance for Innovation (EAI) 2016-05-01
Series:EAI Endorsed Transactions on Creative Technologies
Subjects:
Online Access:http://eudl.eu/doi/10.4108/eai.3-12-2015.2262353
_version_ 1828470733825638400
author Salim Kebir
Isabelle Borne
Djamel Meslati
author_facet Salim Kebir
Isabelle Borne
Djamel Meslati
author_sort Salim Kebir
collection DOAJ
description 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.
first_indexed 2024-12-11T04:58:41Z
format Article
id doaj.art-f2eebce3bbb94acaa6d229549905836c
institution Directory Open Access Journal
issn 2409-9708
language English
last_indexed 2024-12-11T04:58:41Z
publishDate 2016-05-01
publisher European Alliance for Innovation (EAI)
record_format Article
series EAI Endorsed Transactions on Creative Technologies
spelling doaj.art-f2eebce3bbb94acaa6d229549905836c2022-12-22T01:20:13ZengEuropean Alliance for Innovation (EAI)EAI Endorsed Transactions on Creative Technologies2409-97082016-05-01391810.4108/eai.3-12-2015.2262353A Genetic Algorithm for Automated Refactoring of Component-Based SoftwareSalim Kebir0Isabelle Borne1Djamel Meslati2Ecole Nationale Supérieure d'informatique, Alger, Algeria; s_kebir@esi.dzIRISA, Vannes, FranceLISCO, Université Badji Mokhtar, Annaba, AlgeriaNowadays 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.http://eudl.eu/doi/10.4108/eai.3-12-2015.2262353genetic algorithmrefactoringcomponent-based software engineeringbad smells
spellingShingle Salim Kebir
Isabelle Borne
Djamel Meslati
A Genetic Algorithm for Automated Refactoring of Component-Based Software
EAI Endorsed Transactions on Creative Technologies
genetic algorithm
refactoring
component-based software engineering
bad smells
title A Genetic Algorithm for Automated Refactoring of Component-Based Software
title_full A Genetic Algorithm for Automated Refactoring of Component-Based Software
title_fullStr A Genetic Algorithm for Automated Refactoring of Component-Based Software
title_full_unstemmed A Genetic Algorithm for Automated Refactoring of Component-Based Software
title_short A Genetic Algorithm for Automated Refactoring of Component-Based Software
title_sort genetic algorithm for automated refactoring of component based software
topic genetic algorithm
refactoring
component-based software engineering
bad smells
url http://eudl.eu/doi/10.4108/eai.3-12-2015.2262353
work_keys_str_mv AT salimkebir ageneticalgorithmforautomatedrefactoringofcomponentbasedsoftware
AT isabelleborne ageneticalgorithmforautomatedrefactoringofcomponentbasedsoftware
AT djamelmeslati ageneticalgorithmforautomatedrefactoringofcomponentbasedsoftware
AT salimkebir geneticalgorithmforautomatedrefactoringofcomponentbasedsoftware
AT isabelleborne geneticalgorithmforautomatedrefactoringofcomponentbasedsoftware
AT djamelmeslati geneticalgorithmforautomatedrefactoringofcomponentbasedsoftware