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

Campus

RIT – Main Campus

Plan Codes

COMPIS-PHD

Share

COinS