Addressing Multi-objectives Search Challenges in Code Search Systems using CROPS Algorithms (British Journal of Multidisciplinary and Advanced Studies, 2024)
One of the biggest challenge in software reuse is the huge amount of time and efforts required by re-users to evaluate the suitability of reusable components in a search before they are selected for reuse.   This becomes more challenging especially where large number of Pareto solutions are generated based on multiple objectives of a reuse scenario.  This could lead to wrong choice of components and low quality products where the re-user is not patient enough to evaluate the long list of partially ordered components presented by the code search engine.  In addressing this challenge, many multi-objective evolutionary algorithm (MOEA) frameworks have been introduced namely non-dominated sorting genetic algorithms, MOEA based on decomposition, preference-based MOEAs and many others.  In this research, a type of preference-based MOEA named CROPS (Components Ranking Optimization and Selection) Algorithm is presented.  CROPS uses functional requirements and the preferential order of non-functional requirements together with high-level objectives for filtering and sub-ranking of components to generate distinctive ranks of Pareto sets based on components suitability.  Using this approach, time and efforts required by a re-user to search, rank and select quality components for reuse in a given re-use scenario is minimized.