Abstract
In Search-Based Software Engineering (SBSE), metaheuristic search algorithms are used to construct software by combining components that fulfill diverse user and business requirements. These search algorithms typically employ randomization to accurately and efficiently evaluate numerous component combinations using limited computational resources. As a result, several search algorithms have been proposed to address SBSE problems, each with varying solution quality guarantees and computational resource usage. Recent research has demonstrated that search algorithms exhibit complementary behavior, that is, different search algorithms outperform each other on specific problem instances in terms of computational resource usage and solution quality. Problematically, current SBSE approaches do not leverage the complementary performance property and use a single search algorithm to solve all instances of a problem resulting in several inefficient or ineffective solutions. To address these limitations, we leverage a set of complementary search algorithms to fulfill complex user requirements and computational constraints for two SBSE applications. Our research vision is to assist practitioners in building and maintaining effective and efficient software by providing automated, fine-grained search algorithm recommendations when employing SBSE techniques. To accomplish our vision, we study the impact of search algorithm selection on web service composition and third-party software library migration at the method level. Each of these SBSE problems has diverse requirements: search algorithms for web service composition need to be executed frequently to fulfill user-specified non-functional requirements, whereas library migration recommendations are used by developers to maintain software and fulfill functional requirements. We assess the relative strengths of 12 search algorithms on 6,144 web service composition and 7,200 third-party software library migration instances with multiple conflicting requirements. To accurately model variability in search algorithm performance, we leverage machine learning techniques to recommend algorithms for various SBSE instances. Our experimental evaluations demonstrate that our approach solves hard SBSE problems by fulfilling user requirements while minimizing computational resource usage. Additionally, we propose a transfer learning-based approach to predict algorithm performance across SBSE problems and mitigate challenges arising from a lack of training data. We conclude by outlining future research directions to build a generalizable algorithm selection framework for SBSE.
Library of Congress Subject Headings
Software engineering; Electronic information resource searching; Computer algorithms
Publication Date
2024
Document Type
Dissertation
Student Type
Graduate
Degree Name
Computing and Information Sciences (Ph.D.)
Department, Program, or Center
Computing and Information Sciences Ph.D, Department of
College
Golisano College of Computing and Information Sciences
Advisor
Naveen Sharma
Advisor/Committee Member
Ernest Fokou´e
Advisor/Committee Member
Qi Yu
Recommended Citation
Deshpande, Niranjana, "Towards Algorithm Selection for Efficient Search-Based Software Engineering" (2024). Thesis. Rochester Institute of Technology. Accessed from
https://repository.rit.edu/theses/11786
Campus
RIT – Main Campus
Plan Codes
COMPIS-PHD