Slim Bechikh

Learn 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 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)
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)
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 presence of code-smells increases significantly the cost of maintenance of systems and makes them difficult to change and evolve. To remove code-smells, refactoring operations are used to improve the design of a system by changing its internal structure without altering the external behavior. In large-scale systems, the number of code-smells to fix can(More)