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
Y1 - 2007
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
T2 - 14th Asia Pacific Software Engineering Conference, ASPCE 2007
Y2 - 4 December 2007 through 7 December 2007
ER -