Estimating Redevelopment Costs for High-Risk Components Using a Genetic Algorithm
Subject Areas : Computer EngineeringZeinab Faraji 1 , Faraein Aeini 2 * , Homayun Motameni 3
1 - Department of Computer Engineering, Sari Branch, Islamic Azad University, sari, Iran
2 - Department of Computer engineering, Sari Branch, Islamic Azad University, Sari,Iran
3 - Department of Computer engineering, Sari Branch, Islamic Azad University, Sari, Iran
Keywords: Component-Based Software Engineering (CBSE), Component Selection, High-Risk Components, Genetic Coefficient, Software Cost Development.,
Abstract :
Efficient component selection is crucial in component-based software engineering. This selection involves optimally combining commercially available off-the-shelf (COTS) components and in-house components. COTS components are available in different varieties, including low-risk and high-risk components. Among the two, the latter requires significant modifications to be compatible with the system, which can impact productivity, cost, and execution time. This paper addresses the challenge of integrating commercially available off-the-shelf (COTS) and in-house components, with a particular focus on the cost implications of incorporating high-risk COTS components that necessitate significant adaptation. A genetic algorithm-based method is presented to calculate the cost coefficient for redeveloping these high-risk components, following an initial identification based on their reliability. The efficacy of this approach is supported by case study results, which reveal notable improvements in Intra-modular Coupling Density (ICD) and overall system functionality, highlighting its potential to optimize component selection.
[1] Jha PC, Bali V, Narula S, Kalra M. Optimal component selection based on cohesion & coupling for component based software system under build-or-buy scheme. Journal of Computational Science. 2014 Mar 1; 5(2):233-42.
[2] Jha SK, Mishra RK. Predicting and accessing security features into component-based software development: a critical survey. In Software Engineering: Proceedings of CSI 2015 2019 (pp. 287-294). Springer Singapore.
[3] Mohan A, Jha SK. Predicting and accessing reliability of components in component based software development. In2019 International Conference on Intelligent Computing and Control Systems (ICCS) 2019 May 15 (pp. 1110-1114). IEEE.
[4] Kalantari S, Motameni H, Akbari E, Rabbani M. Optimal components selection based on fuzzy-intra coupling density for component-based software systems under build-or-buy scheme. Complex \&\ Intelligent Systems. 2021 Dec; 7(6):3111-34.
[5] Pressman RS. Software engineering: a practitioner's approach. Palgrave macmillan; 2005.
[6] Gholamshahi S, Hasheminejad SM. Software component identification and selection: A research review. Software: Practice and Experience. 2019 Jan; 49(1):40-69.
[7] Kwong CK, Mu LF, Tang JF, Luo XG. Optimization of software components selection for component-based software system development. Computers \&\ Industrial Engineering. 2010 May 1; 58(4):618-24.
[8] Kaliraj S, Bharathi A. Path testing based reliability analysis framework of component based software system. Measurement. 2019 Oct 1; 144:20-32.
[9] Yadav RK, Khan RA. Reliability Estimation of Object-Oriented Design. The IUP Journal of Systems Management. 2011 May 1; 9(2):28-41.
[10] Kaur R, Arora S, Jha PC, Madan S. Fuzzy multi-criteria approach for component selection of fault tolerant software system under consensus recovery block scheme. Procedia Computer Science. 2015 Jan 1; 45: 842-51.
[11] Tailor AR, Dhodiya JM. GA-Based Hybrid Approach to Solve Fuzzy Multi-objective Optimization Model of Multi-application-Based COTS Selection Problem. InAdvanced Engineering Optimization through Intelligent Techniques: Select Proceedings of AEOTIT 2018 2020 (pp. 75-86). Springer Singapore.
[12] Tang JF, Mu LF, Kwong CK, Luo XG. An optimization model for software component selection under multiple applications development. European Journal of Operational Research. 2011 Jul 16; 212(2):301-11.
[13] Vescan A. Case study method and research design for the dynamic multilevel component selection problem. InService-Oriented Computing–ICSOC 2015 Workshops: WESOA, RMSOC, ISC, DISCO, WESE, BSCI, FOR-MOVES, Goa, India, November 16-19, 2015, Revised Selected Papers 13 2016 (pp. 130-141). Springer Berlin Heidelberg.
[14] Gupta P, Mehlawat MK, Verma S. COTS selection using fuzzy interactive approach. Optimization Letters. 2012 Feb; 6: 273-89.
[15] Vescan A. An evolutionary multiobjective approach for the dynamic multilevel component selection problem. InService-Oriented Computing–ICSOC 2015 Workshops: WESOA, RMSOC, ISC, DISCO, WESE, BSCI, FOR-MOVES, Goa, India, November 16-19, 2015, Revised Selected Papers 13 2016 (pp. 193-204). Springer Berlin Heidelberg.
[16] Nabot A. Software component selection: an optimized selection criterion for component-based software engineering (CBSE). Int. Arab J. Inf. Technol.. 2024;21(2):211-25.
[17] Tang JF, Mu LF, Kwong CK, Luo XG. An optimization model for software component selection under multiple applications development. European Journal of Operational Research. 2011 Jul 16; 212(2):301-11.
[18] Kontio J. A Systematic Process for Reusable Software Component Selection. Technical Report CS-TR-3478, University of Maryland; 1995.
[19] Cortellessa V, Marinelli F, Potena P. Automated selection of software components based on cost/reliability tradeoff. InSoftware Architecture: Third European Workshop, EWSA 2006, Nantes, France, September 4-5, 2006, Revised Selected Papers 3 2006 (pp. 66-81). Springer Berlin Heidelberg.
[20] Vescan A, Grosan C. Two evolutionary multiobjective approaches for the component selection problem. In2008 Eighth International Conference on Intelligent Systems Design and Applications 2008 Nov 26 (Vol. 2, pp. 395-400). IEEE.
[21] Vescan A. A metrics-based evolutionary approach for the component selection problem. In2009 11th International Conference on Computer Modelling and Simulation 2009 Mar 25 (pp. 83-88). IEEE.
[22] Khan MA, Mahmood S. Optimal component selection for component-based systems. InInnovations in Computing Sciences and Software Engineering 2010 May 20 (pp. 467-472). Dordrecht: Springer Netherlands.
[23] Vescan A, Şerban C. A fuzzy-based approach for the multilevel component selection problem. InHybrid Artificial Intelligent Systems: 11th International Conference, HAIS 2016, Seville, Spain, April 18-20, 2016, Proceedings 11 2016 (pp. 463-474). Springer International Publishing.
[24] Neubauer T, Stummer C. Interactive decision support for multiobjective COTS selection. In2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07) 2007 Jan 3 (pp. 283b-283b). IEEE.
[25] Boonsiri S, Seacord RC, Bunting R. Automated component ensemble evaluation. International Journal of Information Technology. 2002 Aug; 8(1):40-53.
[26] Cortellessa V, Crnkovic I, Marinelli F, Potena P. Driving the selection of COTS components on the basis of system requirements. InProceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering 2007 Nov 5 (pp. 413-416).
[27] Lozano-Tello A, Gómez-Pérez A. BAREMO: how to choose the appropriate software component using the analytic hierarchy process. InProceedings of the 14th international conference on Software engineering and knowledge engineering 2002 Jul 15 (pp. 781-788).
[28] Jha PC, Kapur PK, Bali S, Kumar UD. Optimal component selection of COTS based software system under consensus recovery block scheme incorporating execution time. International Journal of Reliability, Quality and Safety Engineering. 2010 Jun; 17(03):209-22.
[29] Jha PC, KAUR R, BALI S, MADAN S. Optimal component selection approach for fault-tolerant software system under CRB incorporating build-or-buy decision. International Journal of Reliability, Quality and Safety Engineering. 2013 Dec 26; 20(06):1350024.
[30] Kaur R, Arora S, Jha PC, Madan S. Fuzzy multi-criteria approach for component selection of fault tolerant software system under consensus recovery block scheme. Procedia Computer Science. 2015 Jan 1; 45: 842-51.
[31] Verma S, Mehlawat MK. Multi-criteria optimization model integrated with AHP for evaluation and selection of COTS components. Optimization. 2017 Nov 2; 66(11):1879-94.
[32] Vescan A. An evolutionary multiobjective approach for the Component Selection Problem. In2008 First International Conference on the Applications of Digital Information and Web Technologies (ICADIWT) 2008 Aug 4 (pp. 252-257). IEEE.
[33] MOKARRAM AH, Isazadeh A, Izadkhah H. Early reliability assessment of component-based software system using coloredpetri net. Turkish Journal of Electrical Engineering and Computer Sciences. 2019; 27(4):2681-96.
[34] Şerban C, Vescan A, Pop HF. A new component selection algorithm based on metrics and fuzzy clustering analysis. InHybrid Artificial Intelligence Systems: 4th International Conference, HAIS 2009, Salamanca, Spain, June 10-12, 2009. Proceedings 4 2009 (pp. 621-628). Springer Berlin Heidelberg.
[35] Kumar D, Jha PC, Kapur PK, Kumar UD. Optimal component selection problem for COTS based software system under consensus recovery block scheme: a goal programming approach.
[36] Yessad L, Boufaida Z. A QoS ontology-based component selection. arXiv preprint arXiv:1109.0324. 2011 Sep 1.
[37] Iribarne L, Troya JM, Vallecillo A. Selecting software components with multiple interfaces. InProceedings. 28th Euromicro Conference 2002 Sep 6 (pp. 26-32). IEEE.
[38] Vescan A, Grosan C. Evolutionary multiobjective approach for multilevel component composition. Studia Universitatis Babes-Bolyai Series Informatica. 2010 Dec 1; 55(4):18-32.
[39] Pande J, Garcia CJ, Pant D. Optimal component selection for component based software development using pliability metric. ACM SIGSOFT Software Engineering Notes. 2013 Jan 23; 38(1):1-6.
[40] Cortellessa V, Crnkovic I, Marinelli F, Potena P. Experimenting the Automated Selection of COTS Components Based on Cost and System Requirements. J. Univers. Comput. Sci . 2008 Jan 1; 14(8):1228-55.
[41] Dhodiya JM, Tailor AR. Genetic algorithm based hybrid approach to solve uncertain multi-objective COTS selection problem for modular software system. Journal of Intelligent \&\ Fuzzy Systems. 2018 Jan 1; 34(4):2103-20.
[42] Dhodiya JM, Tailor AR. Genetic algorithm based hybrid approach to solve fuzzy multi-objective assignment problem using exponential membership function. SpringerPlus. 2016 Dec; 5(1):1-29.
[43] Gupta P, Verma S, Mehlawat MK. Optimization model of COTS selection based on cohesion and coupling for modular software systems under multiple applications environment. InComputational Science and Its Applications–ICCSA 2012: 12th International Conference, Salvador de Bahia, Brazil, June 18-21, 2012, Proceedings, Part III 12 2012 (pp. 87-102). Springer Berlin Heidelberg.
[44] Alves C, Castro J. CRE: A systematic method for COTS components selection. In Anais do XV Simpósio Brasileiro de Engenharia de Software 2001 Oct 3 (pp. 193-207). SBC.
[45] Martinez MA, Toval A. COTSRE: A components selection method based on requirements engineering. In Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008) (pp. 220-223).IEEE.
[46] Maxville V, Armarego J, Lam CP. Intelligent component selection. In Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004. 2004 Sep 28 (pp. 244-249). IEEE.
[47] Zhiqiao W, Kwong CK, Tang J, Chan JW. Integrated model for software component selection with simultaneous consideration of implementation and verification. Computers \&\ Operations Research. 2012 Dec 1; 39(12):3376-93.
[48] Mehlawat MK, Gupta P, Mahajan D. A multi-period multi-objective optimization framework for software enhancement and component evaluation, selection and integration. Information Sciences. 2020 Jun 1; 523: 91-110.
[49] Gupta P, Mehlawat MK, Mahajan D. Multi-objective optimization framework for software maintenance, component evaluation and selection involving outsourcing, redundancy and customer to customer relationship. Information Sciences. 2019 May 1; 483: 21-52.