Data envelopment analysis based multi-objective optimization model for evaluation and selection of software components under optimal redundancy
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.
KeywordsMulti-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.
- 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
- 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
- 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
- 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
- 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
- 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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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.Google Scholar
- 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
- 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
- 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.Google Scholar