Back to Search
Start Over
Model refactoring by example: A multi‐objective search based software engineering approach.
- Source :
- Journal of Software: Evolution & Process; Apr2018, Vol. 30 Issue 4, p1-1, 20p
- Publication Year :
- 2018
-
Abstract
- Abstract: Declarative rules are frequently used in model refactoring in order to detect refactoring opportunities and to apply the appropriate ones. However, a large number of rules is required to obtain a complete specification of refactoring opportunities. Companies usually have accumulated examples of refactorings from past maintenance experiences. Based on these observations, we consider the model refactoring problem as a multi objective problem by suggesting refactoring sequences that aim to maximize both structural and textual similarity between a given model (the model to be refactored) and a set of poorly designed models in the base of examples (models that have undergone some refactorings) and minimize the structural similarity between a given model and a set of well‐designed models in the base of examples (models that do not need any refactoring). To this end, we use the Non‐dominated Sorting Genetic Algorithm (NSGA‐II) to find a set of representative Pareto optimal solutions that present the best trade‐off between structural and textual similarities of models. The validation results, based on 8 real world models taken from open‐source projects, confirm the effectiveness of our approach, yielding refactoring recommendations with an average correctness of over 80%. In addition, our approach outperforms 5 of the state‐of‐the‐art refactoring approaches. [ABSTRACT FROM AUTHOR]
Details
- Language :
- English
- ISSN :
- 20477473
- Volume :
- 30
- Issue :
- 4
- Database :
- Complementary Index
- Journal :
- Journal of Software: Evolution & Process
- Publication Type :
- Academic Journal
- Accession number :
- 129158017
- Full Text :
- https://doi.org/10.1002/smr.1916