Data envelopment analysis based multi-objective optimization model for evaluation and selection of software components under optimal redundancy

  • Pankaj Gupta
  • Mukesh Kumar Mehlawat
  • Divya Mahajan
S.I.: Statistical Reliability Modeling and Optimization


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.


Multi-objective optimization Software reliability COTS selection Redundancy DEA technique 



We are thankful to the Editor-in-chief, Guest Editor, and anonymous referees for their valuable suggestions to improve the presentation of the paper.


  1. 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).Google Scholar
  2. Berman, O., & Ashrafi, N. (1993). Optimization models for reliability of modular software systems. IEEE Transactions on Software Engineering, 19, 1119–1123.CrossRefGoogle Scholar
  3. Bertolino, A., & Strigini, L. (1996). On the use of testability measures for dependability assessment. IEEE Transactions on Software Engineering, 22, 97–108.CrossRefGoogle Scholar
  4. 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).Google Scholar
  5. Carrillo, M., & Jorge, J. M. (2016). A multiobjective DEA approach to ranking alternatives. Expert Systems with Applications, 50, 130–139.CrossRefGoogle Scholar
  6. 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).Google Scholar
  7. Chankong, V., & Haimes, Y. Y. (1983). Multiobjective decision making: Theory and methodology. North-Holland series in system science and engineering. Amsterdam: North-Holland.Google Scholar
  8. Charnes, A., Cooper, W. W., & Rhodes, E. (1978). Measuring the efficiency of decision making units. European Journal of Operational Research, 2, 429–444.CrossRefGoogle Scholar
  9. 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.Google Scholar
  10. 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.
  11. 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.CrossRefGoogle Scholar
  12. Couts, C., & Gerdes, P. (2010). Integrating COTS software: Lessons from a large healthcare organisation. IT Professional, 12, 50–58.CrossRefGoogle Scholar
  13. 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.Google Scholar
  14. 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.CrossRefGoogle Scholar
  15. 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.Google Scholar
  16. 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).Google Scholar
  17. 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.CrossRefGoogle Scholar
  18. 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.Google Scholar
  19. Jung, H. W., & Choi, B. (1999). Optimization models for quality and cost of modular software systems. European Journal of Operational Research, 112, 613–619.CrossRefGoogle Scholar
  20. Kaur, A., & Mann, K. S. (2010). Component selection for component based software engineering. International Journal of Computer Applications, 2(1), 109–114.CrossRefGoogle Scholar
  21. 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.Google Scholar
  22. 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).Google Scholar
  23. 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.CrossRefGoogle Scholar
  24. 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.CrossRefGoogle Scholar
  25. 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.CrossRefGoogle Scholar
  26. 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.Google Scholar
  27. 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.Google Scholar
  28. 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.CrossRefGoogle Scholar
  29. 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.Google Scholar
  30. 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.Google Scholar
  31. 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.Google Scholar
  32. 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.CrossRefGoogle Scholar
  33. Rolland, C. (1999). Requirement engineering for COTS based systems. Information and Software Technology, 41, 985–990.CrossRefGoogle Scholar
  34. 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.Google Scholar
  35. Shyur, H. J. (2006). COTS evaluation using modified TOPSIS and ANP. Applied Mathematics and Computations, 177, 251–259.CrossRefGoogle Scholar
  36. 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.Google Scholar
  37. 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.Google Scholar
  38. 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.CrossRefGoogle Scholar
  39. Verma, S., & Mehlawat, M. K. (2017). Multi-criteria optimization model integrated with AHP for evaluation and selection of COTS components. Optimization, 66, 1879–1894.CrossRefGoogle Scholar
  40. 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.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  • Pankaj Gupta
    • 1
  • Mukesh Kumar Mehlawat
    • 1
  • Divya Mahajan
    • 1
  1. 1.Department of Operational ResearchUniversity of DelhiDelhiIndia

Personalised recommendations