Approximation algorithms for software component selection problem

Nima Haghpanah, Jafar Habibi, Shahrouz Moaven, Mehdi Kargar, Soheil Hassas Yeganeh

Research output: Chapter in Book/Report/Conference proceedingConference contribution

22 Citations (Scopus)

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.

Original languageEnglish (US)
Title of host publicationProceedings - 14th Asia-Pacific Software Engineering Conference, APSEC 2007
Pages159-166
Number of pages8
DOIs
StatePublished - Dec 1 2007
Event14th Asia Pacific Software Engineering Conference, ASPCE 2007 - Nagoya, Japan
Duration: Dec 4 2007Dec 7 2007

Publication series

NameProceedings - Asia-Pacific Software Engineering Conference, APSEC
ISSN (Print)1530-1362

Other

Other14th Asia Pacific Software Engineering Conference, ASPCE 2007
CountryJapan
CityNagoya
Period12/4/0712/7/07

Fingerprint

Approximation algorithms
Costs
Software engineering
Computational complexity
Genetic algorithms

All Science Journal Classification (ASJC) codes

  • Engineering(all)

Cite this

Haghpanah, N., Habibi, J., Moaven, S., Kargar, M., & Yeganeh, S. H. (2007). Approximation algorithms for software component selection problem. In Proceedings - 14th Asia-Pacific Software Engineering Conference, APSEC 2007 (pp. 159-166). [4425850] (Proceedings - Asia-Pacific Software Engineering Conference, APSEC). https://doi.org/10.1109/APSEC.2007.26
Haghpanah, Nima ; Habibi, Jafar ; Moaven, Shahrouz ; Kargar, Mehdi ; Yeganeh, Soheil Hassas. / Approximation algorithms for software component selection problem. Proceedings - 14th Asia-Pacific Software Engineering Conference, APSEC 2007. 2007. pp. 159-166 (Proceedings - Asia-Pacific Software Engineering Conference, APSEC).
@inproceedings{667ed3eaf09a45d890e865d912229ce9,
title = "Approximation algorithms for software component selection problem",
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.",
author = "Nima Haghpanah and Jafar Habibi and Shahrouz Moaven and Mehdi Kargar and Yeganeh, {Soheil Hassas}",
year = "2007",
month = "12",
day = "1",
doi = "10.1109/APSEC.2007.26",
language = "English (US)",
isbn = "0769530575",
series = "Proceedings - Asia-Pacific Software Engineering Conference, APSEC",
pages = "159--166",
booktitle = "Proceedings - 14th Asia-Pacific Software Engineering Conference, APSEC 2007",

}

Haghpanah, N, Habibi, J, Moaven, S, Kargar, M & Yeganeh, SH 2007, Approximation algorithms for software component selection problem. in Proceedings - 14th Asia-Pacific Software Engineering Conference, APSEC 2007., 4425850, Proceedings - Asia-Pacific Software Engineering Conference, APSEC, pp. 159-166, 14th Asia Pacific Software Engineering Conference, ASPCE 2007, Nagoya, Japan, 12/4/07. https://doi.org/10.1109/APSEC.2007.26

Approximation algorithms for software component selection problem. / Haghpanah, Nima; Habibi, Jafar; Moaven, Shahrouz; Kargar, Mehdi; Yeganeh, Soheil Hassas.

Proceedings - 14th Asia-Pacific Software Engineering Conference, APSEC 2007. 2007. p. 159-166 4425850 (Proceedings - Asia-Pacific Software Engineering Conference, APSEC).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Approximation algorithms for software component selection problem

AU - Haghpanah, Nima

AU - Habibi, Jafar

AU - Moaven, Shahrouz

AU - Kargar, Mehdi

AU - Yeganeh, Soheil Hassas

PY - 2007/12/1

Y1 - 2007/12/1

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=44949142996&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=44949142996&partnerID=8YFLogxK

U2 - 10.1109/APSEC.2007.26

DO - 10.1109/APSEC.2007.26

M3 - Conference contribution

AN - SCOPUS:44949142996

SN - 0769530575

SN - 9780769530574

T3 - Proceedings - Asia-Pacific Software Engineering Conference, APSEC

SP - 159

EP - 166

BT - Proceedings - 14th Asia-Pacific Software Engineering Conference, APSEC 2007

ER -

Haghpanah N, Habibi J, Moaven S, Kargar M, Yeganeh SH. Approximation algorithms for software component selection problem. In Proceedings - 14th Asia-Pacific Software Engineering Conference, APSEC 2007. 2007. p. 159-166. 4425850. (Proceedings - Asia-Pacific Software Engineering Conference, APSEC). https://doi.org/10.1109/APSEC.2007.26