Skip to main content
Log in

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

  • S.I.: Statistical Reliability Modeling and Optimization
  • Published:
Annals of Operations Research Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3

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.

    Article  Google Scholar 

  • Bertolino, A., & Strigini, L. (1996). On the use of testability measures for dependability assessment. IEEE Transactions on Software Engineering, 22, 97–108.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • Charnes, A., Cooper, W. W., & Rhodes, E. (1978). Measuring the efficiency of decision making units. European Journal of Operational Research, 2, 429–444.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Couts, C., & Gerdes, P. (2010). Integrating COTS software: Lessons from a large healthcare organisation. IT Professional, 12, 50–58.

    Article  Google Scholar 

  • 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 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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 

  • Jung, H. W., & Choi, B. (1999). Optimization models for quality and cost of modular software systems. European Journal of Operational Research, 112, 613–619.

    Article  Google Scholar 

  • Kaur, A., & Mann, K. S. (2010). Component selection for component based software engineering. International Journal of Computer Applications, 2(1), 109–114.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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 

  • 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.

    Article  Google Scholar 

  • Rolland, C. (1999). Requirement engineering for COTS based systems. Information and Software Technology, 41, 985–990.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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 

  • 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.

    Article  Google Scholar 

  • Verma, S., & Mehlawat, M. K. (2017). Multi-criteria optimization model integrated with AHP for evaluation and selection of COTS components. Optimization, 66, 1879–1894.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Pankaj Gupta.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-018-2842-y

Keywords

Navigation