The International Arab Journal of Information Technology (IAJIT)


Software Component Selection: An Optimized Selection Criterion for Component-based Software Engineering (CBSE)

Ahmad Nabot,

Component-Based Software Engineering (CBSE) is gaining popularity in software development due to time and cost limitations. As software applications have become integral to people’s lives, developing high-quality and user-friendly applications within a reasonable timeframe and budget has become increasingly challenging. Software development firms frequently use Commercial-Off-The-Shelf (COTS) components to address this challenge and reduce development costs and time. However, selecting appropriate components that meet customer requirements and integrate seamlessly with the target system is a complex task requiring considering the entire software system’s quality. This study investigates the critical factors that software industry practitioners and experts must consider when selecting software components. First, the author asked practitioners to identify the most important quality criteria for an online bookstore from a list using subjective judgment and evaluation grades. Then, the study employed the Evidential Reasoning (ER) approach to tackle the multi-level evaluations and information uncertainty associated with software component selection issues. The ER approach’s primary features, such as weight normalization, probability assessment, uncertainty management, and utility intervals, offer several benefits for COTS selection problems, including cost and time reduction, improved software reliability, effectiveness, and efficiency. This study assessed the quality criteria for an online bookstore using the ER approach and provided analysis results based on the approach's computational steps. Finally, the study ranked the four components according to their weights, evaluation grades, and belief degrees for selection.

[1] Ahmadzadeh F., “Multi Criteria Decision Making with Evidential Reasoning under Uncertainty,” in Proceedings of the IEEE International Conference on Industrial Engineering and Engineering Management, Bali, pp. 1534-1538, 2016. DOI:10.1109/IEEM.2016.7798134

[2] Akhoundi A. and Nazif S., “Sustainability Assessment of Wastewater Reuse Alternatives Using the Evidential Reasoning Approach,” Journal of Cleaner Production, vol. 195, pp. 1350-1376, 2018.

[3] Ayala C., Hauge O., Conradi R., Franch X., and Li J., “Selection of Third Party Software in Off-The- Shelf-Based Software Development-An Interview Study with Industrial Practitioners,” Journal of Systems and Software, vol. 84, no. 4, pp. 620-637, 2011.

[4] Banga A. and Bhatia P., “Optimized Component Based Selection Using LSTM Model by Integrating Hybrid MVO-PSO Soft Computing Technique,” Advances in Science, Technology and Engineering Systems Journal, vol. 6, no. 4, pp. 62- 71, 2021. DOI:10.25046/aj060408

[5] Bhuta J., Mattmann C., Medvidovic N., and Boehm B., “A Framework for the Assessment and Selection of Software Components and Connectors in COTS-Based Architectures,” in Proceedings of the Working IEEE/IFIP Conference on Software Architecture, Mumbai, pp. 1-6, 2007. DOI:10.1109/WICSA.2007.2

[6] Bibi N., Rana T., Qurat-Ul-Ain., and Naseer A., “Conceptual Model for Component Selection: A Research Review on Existing Techniques,” in Proceedings of the 3rd International Conference on Communication Technologies, Rawalpindi, pp. 22-27, 2021. DOI:10.1109/ComTech52583.2021.9616711

[7] Buchanan B. and Shortliffe E., Rule-Based Expert Systems: The MYCIN Experiments of the Stanford Heuristic Programming Project, Addison- Wesley, 1984. 1984/Chapter-13.pdf

[8] Carvallo J., Franch X., and Quer C., “Managing Non-Technical Requirements in COTS Components Selection,” in Proceedings of the 14th IEEE International Requirements Engineering Conference, Minneapolis-Saint Paul, pp. 323-326, 2006. 4087

[9] Chatzipetrou P., Papatheocharous E., Wnuk K., Borg M., Alégroth E., and Gorschek T., “Component Attributes and their Importance in Decisions and Component Selection,” Software Quality Journal, vol. 28, no. 2, pp. 567-593, 2020. 019-09465-2

[10] Cortellessa V., Crnkovic I., Marinelli F., and Potena P., “Experimenting the Automated Selection of COTS Components Based on Cost and System Requirements,” Journal of Universal Computer Science, vol. 14, no. 8, pp. 1228-1255, 2008. DOI:10.3217/jucs-014-08-1228

[11] Dong Y., Zhang J., Li Z., Hu Y., and Deng Y., “Combination of Evidential Sensor Reports with Distance Function and Belief Entropy in Fault Diagnosis,” International Journal of Computers, Communications and Control, vol. 14, no. 3, pp. 329-343, 2019. DOI:10.15837/ijccc.2019.3.3589

[12] Farshidi S., Jansen S., De Jong R., and Brinkkemper S., “A Decision Support System for Software Technology Selection,” Journal of Decision Systems, vol. 27, no. S1, pp. 98-110, 2018.

[13] Faundes M., Astudillo H., and Hitpass B., “Process-Based Evaluation and Comparison of OTS Software Alternatives,” in Proceedings of the Federated Conference on Computer Science and Information Systems, Krakow, pp. 1093-1100, 2013. 4151

[14] Fu C., Xue M., Chang W., Xu D., and Yang S., “An Evidential Reasoning Approach Based on Risk Attitude and Criterion Reliability,” 222 The International Arab Journal of Information Technology, Vol. 21, No. 2, March 2024 Knowledge-Based Systems, vol. 199, pp. 105947, 2020.

[15] Garg R., “A Ranking Model for the Selection and Ranking of Commercial Off-The-Shelf Components,” IEEE Transactions on Engineering Management, vol. 69, no. 5, pp. 2196-2204, 2022. DOI: 10.1109/TEM.2020.3001943

[16] Garg R., Sharma R., and Sharma K., “Ranking and Selection of Commercial Off-The-Shelf Using Fuzzy Distance Based Approach,” Decision Science Letters, vol. 5, no. 2, pp. 201-210, 2016. DOI: 10.5267/j.dsl.2015.12.004

[17] Gashi I. and Popov P., “Uncertainty Explicit Assessment of Off-The-Shelf Software: Selection of an Optimal Diverse Pair,” in Proceedings of the 6th International IEEE Conference on Commercial-Off-The-Shelf-Based Software Systems, Banff, pp. 93-102, 2007. DOI:10.1109/ICCBSS.2007.44

[18] Gholamshahi S. and Hasheminejad S., “Software Component Identification and Selection: A Research Review,” Software Practice Exprience, vol. 49, no. 1, pp. 40-69, 2019.

[19] Gilke N., Mantha S., and Thampi G., “Fuzzy Logic based Decision Support System for Mass Customization,” International Journal of Computer Applications, vol. 62, no. 7, pp. 31-37, 2013. 7/pxc3884738.pdf

[20] Grau G., Carvallo J., Franch X., and Quer C., “DesCOTS: A Software System for Selecting COTS Components,” in Proceedings of the 30th EUROMICRO Conference, Rennes, pp. 118-126, 2004. DOI:10.1109/EURMIC.2004.1333363

[21] Gupta P., Mehlawat M., and Mahajan D., “Data Envelopment Analysis Based Multi-Objective Optimization Model for Evaluation and Selection of Software Components under Optimal Redundancy,” Annals of Operations Research, vol. 312, no. 1, pp. 193-216, 2022. DOI:10.1007/s10479-018-2842-y

[22] Gusev A., Ilin D., and Nikulchev E., “The Dataset of the Experimental Evaluation of Software Components for Application Design Selection Directed by the Artificial Bee Colony Algorithm,” Data, vol. 5, no. 3, pp. 1-11, 2020. DOI:10.3390/data5030059

[23] Haghpanah N., Moaven S., Habibi J., Kargar M., and Yeganeh S., “Approximation Algorithms for Software Component Selection Problem,” in Proceedings of the Asia-Pacific Software Engineering Conference, pp. 159-166, Nagoya, 2007. DOI:10.1109/ASPEC.2007.38

[24] Ibrahim H., Elamy A., Far B., and Eberlein A., “UnHOS : A Method for Uncertainty Handling in Commercial Off-The-Shelf (COTS) Selection,” International Journal of Energy, Information and Communications, vol. 2, no. 3, pp. 21-48, 2011. df

[25] Jabbarpour M., Saghiri A., and Sookhak M., “A Framework for Component Selection Considering Dark Sides of Artificial Intelligence: A Case Study on Autonomous Vehicle,” Electronics, vol. 10, no. 4, pp. 1-24, 2021.

[26] Jadhav A. and Sonar R., “Analytic Hierarchy Process (AHP), Weighted Scoring Method (WSM), and Hybrid Knowledge Based System (HKBS) for Software Selection: A Comparative Study,” in Proceedings of the 2nd International Conference on Emerging Trends in Engineering and Technology, Nagpur, pp. 991-997, 2009. DOI:10.1109/ICETET.2009.33

[27] Jha P., Bali S., and Kumar U., “A Fuzzy Approach for Optimal Selection of COTS Components for Modular Software System under Consensus Recovery Block Scheme Incorporating Execution Time,” Turkish Journal of Fuzzy Systems, vol. 2, no. 1, pp. 45-63, 2011. exLsMAAAAJ&hl=en

[28] Kalantari S., Motameni H., Akbari E., and Rabbani M., “Optimal Components Selection Based on Fuzzy-Intra Coupling Density for Component-Based Software Systems under Build-or-Buy Scheme,” Complex and Intelligent Systems, vol. 7, no. 6, pp. 3111-3134, 2021. 021-00449-z

[29] Kaur J. and Tomar P., “Multi Objective Optimization Model using Preemptive Goal Programming for Software Component Selection,” International Journal of Information Technology and Computer Science, vol. 7, no. 9, pp. 31-37, 2015. https://www.mecs-

[30] Kaur J. and Tomar P., “Clustering Based Architecture for Software Component Selection,” International Journal of Modern Education and Computer Science, vol. 10, no. 8, pp. 33-40, 2018. n8/v10n8-4.html

[31] Kaur J. and Tomar P., “A Software Component Selection Technique Based on Fuzzy Clustering,” in Proceedings of the 1st India International Conference on Information Proceeding, Delhi, pp. 1-5, 2017. DOI:10.1109/IICIP.2016.7975350

[32] Kaur K. and Singh H., “Quantifying COTS Components Selection Using Multi Criteria Decision Analysis Method PROMETHEE,” Global Journal of Computer Science and Technology, vol. 14, no. 2, pp. 53-58, 2014. Software Component Selection: An Optimized Selection Criterion for Component-based ... 223 cots-components-selection-using-multi-criteria- decision-analysis-method-promethee

[33] Khan A., Khan K., Amir M., and Khan M., “A Component-Based Framework for Software Reusability,” International Journal of Software Engineering and its Applications, vol. 8, no. 10, pp. 13-24, 2014. DOI:10.14257/ijseia.2014.8.10.0

[34] Kitchenham B., Budgen D., and Brereton P., Evidence-Based Software Engineering and Systematic Reviews, Chapman and Hall/CRC, 2015. DOI:

[35] Kontio J., OTSO: A Systematic Process for Reusable Software Component Selection, Technical Reports, University of Maryland, 1995. &type=pdf&doi=379cf62668b3b182570196871c 10afe20d53fa2c

[36] Konys A., Advances in Intelligent Systems and Computing, Springer, 2015.

[37] Krause P., “Approximate Reasoning Models by Ramon Lopez de Mántaras, Ellis Horwood, Chichester, 1990, pp 109.-Search, inference and Dependencies in Artificial Intelligence by Murray Shanahan and Richard Southwick, Ellis Horwood, Chichester, 1989, pp 140.,” The Knowledge Engineering Review, vol. 6, no. 3, pp. 239-242, 1991.

[38] Kunda D. and Brooks L., “Applying Social- Technical Approach for Cots Selection,” in Proceedings of the 4th UKAIS Conference, York, pp. 552-565, 1999. 3

[39] Kwong C., Mu L., Tang J., and Luo X., “Optimization of Software Components Selection for Component-Based Software System Development,” Computers and Industrial Engineering, vol. 58, no. 4, pp. 618-624, 2010.

[40] Li J., Asif Ullah., Li J., Nazir S., Khan H., Rehman H., and Amin Ul Haq., “Attributes-Based Decision Making for Selection of Requirement Elicitation Techniques Using the Analytic Network Process,” Mathematical Problems in Engineering, vol. 2020, pp. 1-13, 2020.

[41] Liao H., Ren Z., and Fang R., “A Deng-Entropy- Based Evidential Reasoning Approach for Multi- Expert Multi-Criterion Decision-Making with Uncertainty,” International Journal of Computational Intelligence Systems, vol. 13, no. 1, pp. 1281-1294, 2020. DOI:10.2991/ijcis.d.200814.001

[42] Mancilla F., Astudillo H., and Visconti M., “Combining COSTUME and Azimut+ to Address Functional and Non-Functional Requirements in Software Component Selection,” in Proceedings of the 29th International Conference of the Chilean Computer Science Society, SCCC, Antofagasta, pp. 102-109, 2010. DOI:10.1109/SCCC.2010.47

[43] Maxville V., Armarego J., and Lam C., “Intelligent Component Selection,” in Proceedings of the 28th Annual International Computer Software and Applications Conference, Hong Kong, pp. 244-249, 2004. DOI:10.1109/CMPSAC.2004.1342839

[44] Mehlawat M., Gupta P., and Mahajan D., “A Multi-Period Multi-Objective Optimization Framework for Software Enhancement and Component Evaluation, Selection and Integration,” Information Sciences, vol. 523, pp. 91-110, 2020.

[45] Mehta P., Tandon A., and Sharma H., Springer Series in Reliability Engineering, Springer, 2022.

[46] Mittal S. and Bhatia P., “Framework for Evaluating and Ranking the Reusability of COTS Components Based upon Analytical Hierarchy Process,” International Journal of Innovations in Engineering and Technology, vol. 2, no. 4, pp. 352-360, 2013.

[47] Nazir S., Anwar S., Khan S., Shahzad S., Ali M., “Software Component Selection Based on Quality Criteria Using the Analytic Network Process,” Abstract and Applied Analysis, vol. 2014, pp. 1- 14, 2014.

[48] Nazir S., Shahzad S., Mahfooz1 S., and Nazir M., “Fuzzy Logic Based Decision Support System for Component Security Evaluation,” The International Arab Journal of Information Technology, vol. 15, no. 2, pp. 224-231, 2018.,%20 No.%202/10649.pdf

[49] Neubauer T., Pichler J., and Stummer C., “A Case Study on the Multicriteria Selection of Software Components,” in Proceedings of the 3rd IEEE Asia-Pacific Services Computing Conference, Yilan, pp. 1005-1012, 2008. DOI:10.1109/APSCC.2008.138

[50] Neubauer T. and Stummer C., “Interactive Decision Support for Multiobjective COTS Selection,” in Proceedings of the 40th Annual Hawaii International Conference on System Sciences, Hawaii, pp. 1-8, 2007. DOI:10.1109/HICSS.2007.283.

[51] Ng C. and Law K., “Investigating Consumer Preferences on Product Designs by Analyzing Opinions from Social Networks Using Evidential Reasoning,” Computers and Industrial Engineering, vol. 139, pp. 106180, 2020.

[52] Padhy N., Panigrahi R., and Satapathy S., 224 The International Arab Journal of Information Technology, Vol. 21, No. 2, March 2024 “Identifying the Reusable Components from Component-Based System: Proposed Metrics and Model,” in Proceedings of the 5th International Conference on Information Systems Design and Intelligent Applications India, Mauritius, pp. 89- 99, 2018. 3/Description?sid=144216912#tabnav

[53] Pande J., Garcia C., and Pant D., “Optimal Component Selection for Component Based Software Development Using Pliability Metric,” ACM SIGSOFT Software Engineering Notes, vol. 38, no. 1, pp. 1-6, 2013.

[54] Petersen K., Badampudi D., Shah S., Wnuk K., Gorschek T., and Papatheocharous E., “Choosing Component Origins for Software Intensive Systems: In-House, COTS, OSS or Outsourcing?- A Case Survey,” IEEE Transactions on Software Engineering, vol. 44, no. 3, pp. 237-261, 2018. DOI:10.1109/TSE.2017.2677909

[55] Rafsanjani M. and Rakhshan N., “Using a 0/1 Knapsack Algorithm for Software Components Selection in Component-based Software System Development,” Journal of American Science, vol. 7, no. 12, pp. 641- 648, 2011.

[56] Rodas-Silva J., Galindo J., García-Gutiérrez J., and Benavides D., “RESDEC: Online Management Tool for Implementation Components Selection in Software Product Lines Using Recommender Systems,” in Proceedings of the 23rd International Systems and Software Product Line Conference, Paris, pp. 33-36, 2019.

[57] Ruhe G., “Intelligent Support for Selection of COTS Products,” in Proceedings of the Web, Web-Services, and Database Systems NODe-Web and Database-Related Workshops, Erfurt, pp. 34- 45, 2002.

[58] Saaty T., Group Decision Making and the AHP, Springer, 1989. 642-50244-6_4

[59] Sekar K. and Sethuraman J., “Optimal Component Selection for Rich Internet Applications in Web Engineering,” in Proceedings of the International Conference on Networks and Advances in Computational Technologies, Thiruvananthapuram, pp. 420-425, 2017. DOI:10.1109/NETACT.2017.8076808

[60] Şerban C., Vescan A., and Pop H., “A New Component Selection Algorithm Based on Metrics and Fuzzy Clustering Analysis,” in Proceedings of the 4th International Conference on Hybrid Artificial Intelligence Systems, Salamanca, pp. 621-628, 2009.

[61] Shafer G., A Mathematical Theory of Evidence, Princeton University Press, 2020.

[62] Shakeel Faridi N., Javed Z., Haris Abid M., Ahmed M., and Bin Ngadi M., “IROTS: A Proposed COTS Evaluation a Selection Methodology for Component Based Software Engineering in Under-Development Countries,” in Proceedings of the 2nd International Conference on Advances in Computer Science and Engineering, Los Angeles, pp. 20-23, 2013. DOI:10.2991/cse.2013.6

[63] Tian S., Wang H., Jiang Y., and Chen X., “A New Software Component Selection Method Based on Clustering and Information Entropy Weighting,” Computer and Digital Engineering, vol. 45, no. 12, pp. 2437-2441, 2017. m

[64] Tian Z., Nie R., and Wang J., “Probabilistic Linguistic Multi-Criteria Decision Making Based on Evidential Reasoning and Combined Ranking Methods Considering Decision-Makers’ Psychological Preferences,” Journal of the Operational Research Society, vol. 71, no. 5, pp. 700-717, 2020.

[65] Tomar P. and Gill N., “New Algorithm for Component Selection to Develop Component- Based Software with X Model,” Lecture Notes on Software Engineering, vol. 1, no. 3, pp. 298-302, 2013. DOI: 10.7763/lnse.2013.v1.65

[66] Tzeng G. and Huang J., Multiple Attribute Decision Making, Methods and Applications, CRC press, 2011.

[67] Verma S., Mehlawat M., and Mahajan D., “Software Component Evaluation and Selection Using TOPSIS and Fuzzy Interactive Approach Under Multiple Applications Development,” Annals of Operations Research, vol. 312, no. 1, pp. 441-471, 2022. DOI:10.1007/s10479-018-3022-9

[68] Vijayalakshmi K., Ramaraj N., and Amuthakkannan R., “Improvement of Component Selection Process Using Genetic Algorithm for Component-Based Software Development,” International Journal of Information Systems and Change Management, vol. 3, no. 1, pp. 63-80, 2008. DOI: 10.1504/IJISCM.2008.019289

[69] Xu L. and Yang J., Introduction to Multi-Criteria Decision Making and the Evidential Reasoning Approach, Working Paper, Manchester School of Management, 2001. bo.yang/JB%20Yang%20Book_Chapters/XuYan g_MSM_WorkingPaperFinal.pdf

[70] Yang J., “Rule and Utility Based Evidential Reasoning Approach for Multiattribute Decision Analysis under Uncertainties,” European Journal of Operational Research, vol. 131, no. 1, pp. 31- 61, 2001. Software Component Selection: An Optimized Selection Criterion for Component-based ... 225 2217(99)00441-5

[71] Yang J. and Xu D., “On the Evidential Reasoning Algorithm for Multiple Attribute Decision Analysis under Uncertainty,” IEEE Transactions on Systems, Man, and Cybernetics Part A: Systems and Humans, vol. 32, no. 3, pp. 289-304, 2002. DOI:10.1109/TSMCA.2002.802746

[72] Yang J., Liu J., Wang J., Sii H., and Wang H., “Belief Rule-Base Inference Methodology Using the Evidential Reasoning Approach-RIMER,” IEEE Transactions on Systems, Man, and Cybernetics Part A: Systems and Humans, vol. 36, no. 2, pp. 266-285, 2006. DOI:10.1109/TSMCA.2005.851270

[73] Yang J. and Sen P., “A General Multi-Level Evaluation Process for Hybrid MADM with Uncertainty,” IEEE Transactions on Systems, Man, and Cybernetics, vol. 24, no. 10, pp. 1458- 1473, 1994. DOI:10.1109/21.310529

[74] Yang J. and Singh M., “An Evidential Reasoning Approach for Multiple-Attribute Decision Making with Uncertainty,” IEEE Transactions on Systems, Man, and Cybernetics, vol. 24, no. 1, pp. 1-18, 1994. DOI:10.1109/21.259681

[75] Yang J. and Xu D., “Nonlinear Information Aggregation via Evidential Reasoning in Multiattribute Decision Analysis under Uncertainty,” IEEE Transactions on Systems, Man, and Cybernetics Part A: Systems and Humans, vol. 32, no. 3, pp. 376-393, 2002. bo.yang/JB%20Yang%20Journal_Papers/ER- Aggregation-IEEE.pdf

[76] Yen J., Studies in Fuzziness and Soft Computing, Springer, 2008. 540-44792-4_21

[77] Zhang H. and Deng Y., “Engine Fault Diagnosis Based on Sensor Data Fusion Considering Information Quality and Evidence Theory,” Advances in Mechanical Engineering, vol. 10, no. 11, pp. 1-10, 2018.

[78] Zhang J., Nazir S., Huang A., and Alharbi A., “Multicriteria Decision and Machine Learning Algorithms for Component Security Evaluation: Library-Based Overview,” Security and Communication Networks, vol. 2020, 2020.

[79] Zhang X., Wang Y., Chen S., and Chen L., “An Evidential Reasoning Based Approach for GDM with Uncertain Preference Ordinals,” Journal of Intelligent and Fuzzy Systems, vol. 37, no. 6, pp. 8357-8369, 2019. DOI:10.3233/JIFS-190915

[80] Zhang Z., Yang J., and Xu D., “A Hierarchical Analysis Model for Multiobjective Decisionmaking,” IFAC Proceedings Volumes, vol. 22, no. 12, pp. 13-18, 1989.