Approximation Algorithms for Software Component Selection Problem

  • Authors:
  • Nima Haghpanah;Shahrouz Moaven;Jafar Habibi;Mehdi Kargar;Soheil Hassas Yeganeh

  • Affiliations:
  • -;-;-;-;-

  • Venue:
  • APSEC '07 Proceedings of the 14th Asia-Pacific Software Engineering Conference
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Today's software systems are more frequently composed from preexisting commercial or non-commercial components and connectors. These components provide complex and independent functionality and are engaged in complex interactions. Component-Based Software Engineering (CBSE) is concerned with composing, selecting and designing such components. As the popularity of this approach and hence number of commercially available software components grows, selecting a set of components to satisfy a set of requirements while minimizing cost is becoming more difficult. This problem necessitates the design of efficient algorithms to automate component selection for software developing organizations. We address this challenge through analysis of Component Selection, the NP-complete process of selecting a minimal cost set of components to satisfy a set of objectives. Due to the high order of computational complexity of this problem, we examine approximating solutions that make the component selection process practicable. We adapt a greedy approach and a genetic algorithm to approximate this problem. We examined the performance of studied algorithms on a set of selected ActiveX components. Comparing the results of these two algorithms with the choices made by a group of human experts shows that we obtain better results using these approximation algorithms.