Learn More
We introduce in this paper a new multi-objective memetic algorithm. This algorithm is a result of hybridization of the NSGA-II algorithm with a new designed local search procedure that we named Pareto Hill Climbing. Verification of our novel algorithm is carried out by testing it on two sets of multi-objective test problems and comparing it to other(More)
Code smells represent design situations that can affect the maintenance and evolution of software. They make the system difficult to evolve. Code smells are detected, in general, using quality metrics that represent some symptoms. However, the selection of suitable quality metrics is challenging due to the absence of consensus in identifying some code(More)
The use of different domain-specific modeling languages and diverse versions of the same modeling language often entails the need to translate models between the different languages and language versions. The first step in establishing a transformation between two languages is to find their corresponding concepts, i.e., finding correspondences between their(More)
Software systems nowadays are complex and difficult to maintain due to continuous changes and bad design choices. To handle the complexity of systems, software products are, in general, decomposed in terms of packages/modules containing classes that are dependent. However, it is challenging to automatically remodularize systems to improve their(More)
We propose a novel recommendation tool for software refactoring that dynamically adapts and suggests refactorings to developers interactively based on their feedback and introduced code changes. Our approach starts by finding upfront a set of non-dominated refactoring solutions using NSGA-II to improve software quality, reduce the number of refactorings and(More)
Evolutionary algorithms have amply demonstrated their effectiveness and efficiency in approximating the Pareto front of different multi-objective optimization problems. Fewer attentions have been paid to search for the preferred parts of the Pareto front according to the decision maker preferences. Knee regions are special portions of the Pareto front(More)
We propose in this paper to consider code-smells detection as a distributed optimization problem. The idea is that different methods are combined in parallel during the optimization process to find a consensus regarding the detection of code-smells. To this end, we used Parallel Evolutionary algorithms (P-EA) where many evolutionary algorithms with(More)