Abstract
Ensuring proper selection of COTS components is key to the success of component-based software development approaches. Although several approaches and criteria have been proposed for component selection, we lack techniques that can be used to systematically evaluate components against selection criteria for functionality, security, fault tolerance, and quality attributes. We propose a comprehensive approach for enabling the selection of COTS components by employing component understanding and fault injection testing techniques that aid in building an integrated comprehension model of the components. This model accumulates information regarding how each candidate component fared with respect to each criterion. This model can be used not only to aid in the final decision making process, but also serve as a guide during the component comprehension and evaluation stages.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ruhe, G.: Intelligent Support for Selection of COTS Products. In: Revised Papers from the NODe 2002 Web and Database-Related Workshops on Web, Web- Services, and Database Systems, Lecture Notes In Computer Science, pp. 34–45 (2002)
Kontio, J.: OTSO: A Systematic Process for Reusable Software Component Selection. Technical Report CS-TR-3478, UMIACS-TR-95-63, Institute for Advanced Computer Studies and Department of Computer Science, University of Maryland, College Park (1995)
Kuruganti, I.: A Component Selection Methodology with Reference to the Internet Telephony Domain (1999), http://www.sei.cmu.edu/cbs/tools99/comp-select/
Poulin, J.S., Caruso, J.M., Hancock, D.R.: The Business Case for Software Reuse. IBM System’s Journal 32(4), 567–594 (1993)
Tracz, W.: Reusability Comes of Age. IEEE Software 4(4), 6–8 (1987)
Prieto-Diaz, R.: Implementing Faceted Classification for Software Reuse. Communications of the ACM 34(5), 89–97 (1991)
Ramamoorthy, C.V., Garg, V., Prakash, A.: Support for Reusability in Genesis. In: Proceedings of COMPSAC, Chicago, Illinois, pp. 299–305 (1986)
Briand, L.C.: COTS Evaluation and Selection. In: Proceedings of International Conference on Software Maintenance, Bethesda, Maryland, pp. 222–223 (1998)
Kontio, J., Caldiera, G., Basili, V.R.: Defining Factors, Goals and Criteria for Reusable Component Evaluation. In: Proceedings of CASCON, Toronto, Canada (1996)
Edwards, S.H.: A Framework for Practical, Automated Black-box Testing of Component-based Software. Journal of Software Testing, Verification and Reliability 11(2), 97–111 (2001)
Goseva-Popstojanova, K., Mathur, A.P., Trivedi, K.S.: Comparison of Architecture-based Software Reliability Models. In: Proceedings of the 12th IEEE International Symposium on Software Reliability Engineering (ISSRE 2001), Hong Kong (2001)
Roselblum, D.S.: Adequate Testing of Component-based Software. Technical Report TR 97-34, Department of Information and Computer Science, University of California, Irvine, California (1997)
Orso, A., Harrold, M.J., Rosenblum, D.: Component Metadata for Software Engineering Tasks. In: Emmerich, W., Tai, S. (eds.) EDO 2000. LNCS, vol. 1999, p. 129. Springer, Heidelberg (2001)
Harrold, M.J., Orso, A., Rosenblum, D., Rothemel, G., Soffa, M.L., Do, H.: Using Component Metadata to Support Regression Testing of Component-based Software. In: Proceedings of the International Conference on Software Maintenance, Florence, Italy (2001)
Soundarajan, N., Tyler, B.: Testing Components. In: Proceedings of the OOPSLA 2001 Workshop on Specification and Verification of Component-Based Systems, Tampa, Florida, pp. 4–9 (2001)
Bertolino, A., Polini, A.: A Framework for Component Deployment Testing. In: Proceedings of the 25th International Conference on Software Engineering, Portland, Oregon, pp. 221–231 (2003)
Korel, B.: Black-box Understanding of COTS Components. In: International Workshop on Program Understanding, Pittsburgh, Pennsylvania, pp. 226–233 (1999)
Clark, J.A., Pradhan, Y.K.: Fault Injection: A Method for Validating Computer-System Reliability. IEEE Computer 28(6), 47–56 (1995)
Hsueh, M.C., Tsai, T.K., Iyer, R.K.: Fault Injection Techniques and Tools. IEEE Computer 30(4), 75–82 (1997)
Voas, J.M.: PIE: A Dynamic Failure-based Technique. IEEE Transactions on Software Engineering 18(8), 717–727 (1992)
Du, W., Mathur, A.P.: Testing for Software Vulnerability using Environment Perturbation. In: Proceedings of DSN, New York, NY, pp. 603–612 (2000)
Weyuker, E.J.: Testing Component-Based Software: A Cautionary Tale. IEEE Computer 15(5), 54–59 (1998)
Chung, P.E., Lee, W., Shih, J., Yajnik, S.: Fault Injection Experiments for Distributed Objects. In: Proceedings of International Symposium on Distributed Objects and Applications, Edinburgh, Scotland (1999)
Andrews, A., Ghosh, S., Choi, E.M.: A Model for Understanding Software Components. In: Proceedings of the IEEE International Conference on Software Maintenance (ICSM), Montreal (2002)
von Mayrhauser, A., Vans, A.: Industrial Experience With an Integrated Code Comprehension Model. IEE Software Engineering Journal, 171–182 (1995)
Voelter, M.: A Taxonomy for Components. Journal of Object Technology 2(4), 119–125 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ghosh, S., Kelly, J.L., Shankar, R.P. (2005). Enabling the Selection of COTS Components. In: Franch, X., Port, D. (eds) COTS-Based Software Systems. ICCBSS 2005. Lecture Notes in Computer Science, vol 3412. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30587-3_22
Download citation
DOI: https://doi.org/10.1007/978-3-540-30587-3_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-24548-3
Online ISBN: 978-3-540-30587-3
eBook Packages: Computer ScienceComputer Science (R0)