Abstract
Software developers face the challenge of developing in-time, low cost, high profit and high-quality software to meet competitive requirements and user demands. The software components for the same can be selected either from the available commercial-off-the-shelf repository or developed in-house. In this paper, we propose a data envelopment analysis (DEA) based nonlinear multi-objective optimization model for selecting software components in the presence of optimal redundancy to ensure software reliability. The proposed optimization model integrates both build and/or buy decisions for selection of components. We use DEA technique for evaluating the fitness of software components based upon multiple inputs and outputs provided by various members of the decision group. The overall efficiency score of each software component is obtained from the aggregated information. The proposed optimization model minimizes the total cost of software system and maximizes the total value of purchasing using constraints corresponding to compatibility of selected components, reliability, execution time, and delivery time of the software system. It also provides the information on the testing efforts needed to be performed on in-house developed components. A real-world case study of modular software development is discussed to illustrate the efficiency of the proposed optimization model. To the best of our knowledge, there exists no previous study on integrated optimization model for the software component selection problem involving build and/or buy decisions under optimal redundancy.



Similar content being viewed by others
References
Baharom, F., Yahaya, J. H., & Tarawneh, F. (2011). The development of software evaluation and selection framework for supporting COTS-based systems: The theoretical framework. In J.M. Zarin, et al. (Eds.), International conference on software engineering and computer systems (ICSECS 2011), part I, CCIS 179 (pp. 133–143).
Berman, O., & Ashrafi, N. (1993). Optimization models for reliability of modular software systems. IEEE Transactions on Software Engineering, 19, 1119–1123.
Bertolino, A., & Strigini, L. (1996). On the use of testability measures for dependability assessment. IEEE Transactions on Software Engineering, 22, 97–108.
Bhuta, J., & Boehm, B. (2005). A method for compatible COTS component selection. In X. Franch & D. Port (Eds.) COTS-based software systems, ICCBSS 2005, lecture notes in computer science (Vol. 3412, pp. 132–143).
Carrillo, M., & Jorge, J. M. (2016). A multiobjective DEA approach to ranking alternatives. Expert Systems with Applications, 50, 130–139.
Cechich, A., & Piattini, M. (2005). Filtering COTS components through an improvement based process. In X. Franch & D. Port (Eds.), COTS-based software systems, ICCBSS 2005, lecture notes in computer science (Vol. 3412, pp. 112–121).
Chankong, V., & Haimes, Y. Y. (1983). Multiobjective decision making: Theory and methodology. North-Holland series in system science and engineering. Amsterdam: North-Holland.
Charnes, A., Cooper, W. W., & Rhodes, E. (1978). Measuring the efficiency of decision making units. European Journal of Operational Research, 2, 429–444.
Chi, D. H., Lin, H. H., & Kuo, W. (1989). Software reliability and redundancy optimization. In Proceedings of the annual reliability and maintainability symposium, Atlanta, GA (pp. 41–45). IEEE.
Chung, L., Cooper, K., & Courtney, S. (2004). COTS-aware requirements engineering: The CARE process. In Proceedings of the 2nd international workshop on requirements engineering for cots components (RECOTS ’04), Kyoto, Japan. http://www.lsi.upc.es/events/recots/04/papers/Chung.pdf.
Cortellessa, V., Marinelli, F., & Potena, P. (2008). An optimization framework for ‘build-or-buy’ decisions in software architecture. Computers and Operations Research, 35, 3090–3106.
Couts, C., & Gerdes, P. (2010). Integrating COTS software: Lessons from a large healthcare organisation. IT Professional, 12, 50–58.
Garg, R., Sharma, R. K., & Sharma, K. (2015). Identification, selection and evaluation of COTS selection criteria using fuzzy set theory. International Journal of Advance Research and Innovation, 3, 682–690.
Garg, R., Sharma, R. K., & Sharma, K. (2016). Ranking and selection of commercial off the shelf using fuzzy distance based approach. Decision Science Letters, 5, 201–210.
Grau, G., Carvallo, J. P., Franch, X., & Quer, C. (2004). DesCOTS: A software system for selecting COTS components. In Proceedings of the 30th IEEE Euromicro conference (EUROMICRO’04), Washington, DC (pp. 118–126). IEEE.
Gupta, P., Mehlawat, M. K., Mittal, G., & Verma, S. (2009). A hybrid approach for selecting optimal COTS products. In O. Gervasi, et al. (Eds.), Computational science and its applications-ICCSA 2009, lecture notes in computer science (Vol. 5592, pp. 949–962).
Gupta, P., Mehlawat, M. K., & Verma, S. (2011). A membership function approach for cost-reliability trade-off of COTS selection in fuzzy environment. International Journal of Reliability, Quality and Safety Engineering, 18, 573–595.
Jha, P. C., Arora, R., & Kumar, U. D. (2011). An optimization framework for “build or buy” strategy for component selection in a fault tolerant modular software system under recovery block scheme. Ratio Mathematica, 21, 91–105.
Jung, H. W., & Choi, B. (1999). Optimization models for quality and cost of modular software systems. European Journal of Operational Research, 112, 613–619.
Kaur, A., & Mann, K. S. (2010). Component selection for component based software engineering. International Journal of Computer Applications, 2(1), 109–114.
Kontio, J., Chen, S. F., Limperos, K., Tesoriero, R., Caldiera, G., & Deutsch, M. (1995). A COTS selection method and experiences of its use. In Proceedings of the twentieth annual software engineering workshop, November 29–30 (pp. 189–215). NASA Goddard Space Flight Center, Greenbelt, Maryland.
Kotonya, G., & Hutchinson, J. (2004). Viewpoints for specifying component-based systems. In I. Crnkovic, et al. (Eds.), CBSE 2004, lecture notes in computer science (Vol. 3054, pp. 114–121).
Kumar, D., Jha, P. C., Kapur, P. K., & Kumar, U. D. (2012). Optimal component selection problem for cots based software system under consensus recovery block scheme: A goal programming approach. International Journal of Computer Applications, 47, 9–14.
Kwong, C. K., Mu, L. F., Tang, J. F., & Luo, X. G. (2010). Optimization of software components selection for component-based software system development. Computers and Industrial Engineering, 58, 618–624.
Leung, K. R. P. H., & Leung, H. K. N. (2002). On the efficiency of domain-based COTS product selection method. Information and Software Technology, 44, 703–715.
Mahmood, S. (2010). The impact of acceptance tests on analyzing component-based systems specifications: An experimental evaluation. In Proceedings of the 10th IEEE international conference on computer and information technology, Bradford, UK (pp. 241–248). IEEE.
Mead, N. R. (2014). An evaluation of A-square for COTS acquisition. Technical note, CMU/SEI-2014-TN-003, Carnegie Mellon University, Software Engineering Institute, MA.
Mehlawat, M. K. (2013). A multi-choice goal programming approach for COTS products selection of modular software systems. International Journal of Reliability, Quality and Safety Engineering, 20, 1350026.
Mittal, S., & Bhatia, P. K. (2013). Software component quality models from ISO 9126 perspective: A review. IJMRS’s International Journal of Engineering Sciences, 2, 6–13.
Mohamed, A., Ruhe, G., & Eberlein, A. (2007). COTS selection: Past, present, and future. In Proceedings of the 14th annual IEEE international conference and workshops on the engineering of computer-based systems, Washington, DC (pp. 103–114). IEEE.
Neubauer, T., & Stummer, C. (2007). Interactive decision support for multiobjective COTS selection. In Proceedings of the 40th annual Hawaii international conference on system sciences, Big Island, Waikoloa, HI (p. 283b). IEEE.
Ravichandran, K. S., Sekar, K. R., & Suresh, P. (2013). A novel approach for optimal grouping of reusable software components for component based software development systems. International Journal of Software Engineering and Knowledge Engineering, 23(7), 895–912.
Rolland, C. (1999). Requirement engineering for COTS based systems. Information and Software Technology, 41, 985–990.
Sheng, J., & Wang, B. (2008). Evaluating COTS components using gap analysis. In Proceedings of the 9th international conference for young computer scientists, ICYCS 2008, Hunan, China (pp. 1248–1253). IEEE.
Shyur, H. J. (2006). COTS evaluation using modified TOPSIS and ANP. Applied Mathematics and Computations, 177, 251–259.
Tarawneh, F., Baharom, F., Yahaya, J. H., & Ahmad, F. (2011a). Evaluation and selection of COTS software process: The state of art. International Journal on New Computer Architecture and Their Applications, 1, 344–357.
Tarawneh, F., Baharom, F., Yahaya, J. H., & Zainol, A. (2011b). COTS software evaluation and selection: A pilot study based in Jordan firms. In Proceedings of the international conference on electrical engineering and informatics (ICEEI), Bandung, Indonesia (pp. 1–5). IEEE.
Vale, T., Crnkovic, I., de Almeida, E. S., Neto, P. A. D. M. S., Cavalcanti, Y. C., & de Lemos Meira, S. R. (2016). Twenty eight years of component-based software engineering. The Journal of Systems and Software, 111, 128–148.
Verma, S., & Mehlawat, M. K. (2017). Multi-criteria optimization model integrated with AHP for evaluation and selection of COTS components. Optimization, 66, 1879–1894.
Zachariah, B., & Rattihalli, R. N. (2007). A multicriteria optimization model for quality of modular software systems. Asia-Pacific Journal of Operation Research, 24, 797–811.
Acknowledgements
We are thankful to the Editor-in-chief, Guest Editor, and anonymous referees for their valuable suggestions to improve the presentation of the paper.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Gupta, P., Mehlawat, M.K. & Mahajan, D. Data envelopment analysis based multi-objective optimization model for evaluation and selection of software components under optimal redundancy. Ann Oper Res 312, 193–216 (2022). https://doi.org/10.1007/s10479-018-2842-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10479-018-2842-y