Automated Selection of Software Components Based on Cost/Reliability Tradeoff

  • Vittorio Cortellessa
  • Fabrizio Marinelli
  • Pasqualina Potena
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4344)


Functional criteria often drive the component selection in the assembly of a software system. Minimal distance strategies are frequently adopted to select the components that require minimal adaptation effort. This type of approach hides to developers the non-functional characteristics of components, although they may play a crucial role to meet the system specifications. In this paper we introduce the CODER framework, based on an optimization model, that supports “build-or-buy” decisions in selecting components. The selection criterion is based on cost minimization of the whole assembly subject to constraints on system reliability and delivery time. The CODER framework is composed by: an UML case tool, a model builder, and a model solver. The output of CODER indicates the components to buy and the ones to build, and the amount of testing to be performed on the latter in order to achieve the desired level of reliability.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abdelmoez, W., et al.: Error Propagation in Software Architectures. In: Proc. of METRICS (2004)Google Scholar
  2. 2.
    Alves, C., Finkelstein, A.: Challenges in COTS decision-making: a goal-driven requirements engineering perspective. In: Proc. of SEKE 2002, pp. 789–794 (2002)Google Scholar
  3. 3.
    Censor, Y.: Pareto Optimality in Multiobjective Problems. Appl. Math. Optimiz. 4, 41–59 (1977)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Boehm, B.: Software Engineering Economics. Prentice-Hall, Englewood Cliffs (1981)zbMATHGoogle Scholar
  5. 5.
    Cortellessa, V., Marinelli, F., Potena, P.: Appendix of the paper: Automated selection of software components based on cost/reliability tradeoff, Technical Report, Dip. Informatica, Università de L’Aquila,
  6. 6.
    Gokhale, S.S., Wong, W.E., Horgan, J.R., Trivedi, K.S.: An analytical approach to architecture-based software performance and reliability prediction. Performance Evaluation 58, 391–412 (2004)CrossRefGoogle Scholar
  7. 7.
    Goseva-Popstojanova, K., Trivedi, K.S.: Architecture based-approach to reliability assessment of software systems. Performance Evaluation 45, 179–204 (2001)CrossRefzbMATHGoogle Scholar
  8. 8.
    Goseva-Popstojanova, K., Kamavaram, S.: Uncertainty Analysis of Software Reliability Based on Method of Moments. In: FastAbstract ISSRE 2002 (2002)Google Scholar
  9. 9.
    Helander, M.E., Zhao, M., Ohlsson, N.: Planning Models for Software Reliability and Cost. IEEE Trans. in Software Engineering 24(6) (June 1998)Google Scholar
  10. 10.
    Jung, H.W.: Optimizing Value and Cost in Requirement Analysis. IEEE Software, 74–78 (July/August 1998)Google Scholar
  11. 11.
    Jung, H.W., et al.: Selecting Optimal COTS Products Considering Cost and Failure Rate. In: Fast Abstracts of ISSRE (1999)Google Scholar
  12. 12.
    Jung, H.W., Choi, B.: Optimization Models for Quality and Cost of Modular Software Systems. European Journal of Operational Research 112, 613–619 (1999)CrossRefzbMATHGoogle Scholar
  13. 13.
    Kazman, R., et al.: Experience with Performing Architecture Tradeoff Analysis. In: Proc. of ICSE 1999 (1999)Google Scholar
  14. 14.
    Kazman, R., et al.: Quantifying the Costs and Benefits of Architectural Decisions. In: Proc. of ICSE 2001 (2001)Google Scholar
  15. 15.
    Kellerer, H., et al.: Knapsack Problems. Springer, Heidelberg (2004)zbMATHGoogle Scholar
  16. 16.
    Klein, M., Kazman, R.: Attribute-based Architectural Styles. CMU-SEI-99-TR-22, SEI, CMU (1999)Google Scholar
  17. 17.
    Li, J., et al.: An Empirical Study of Variations in COTS-based Software Development Processes in Norwegian IT Industry. In: Proc. of METRICS 2004 (2004)Google Scholar
  18. 18.
    Menzies, T., Cukic, B.: How Many Tests are Enough. Handbook of Software Engineering and Knowledge Engineering 2 (2001)Google Scholar
  19. 19.
    Perkins, C.: IP Mobility Support, RCF 3344 in IETF (2002)Google Scholar
  20. 20.
    Trivedi, K.: Probability and Statistics with Reliability, Queuing, and Computer Science Applications. J. Wiley and S., Chichester (2001)Google Scholar
  21. 21.
    Voas, J.M., Miller, K.W.: Software testability: The new verification. IEEE Software, 17–28 (May 1995)Google Scholar
  22. 22.
    Wattanapongsakorn, N.: Reliability Optimization for Software Systems With Multiple Applications. In: Fast Abstracts of ISSRE 2001 (2001)Google Scholar
  23. 23.
    Wattanapongsakorn, N., Levitan, S.: Reliability Optimization Models for Fault-Tolerant Distributed Systems. In: Proc. of Annual Reliability and Maintainability Symposium (2001)Google Scholar
  24. 24.
    Yakimovich, D., Bieman, J.M., Basili, V.R.: Software architecture classification for estimating the cost of COTS integration. In: Proc. of ICSE, June 15-21, pp. 296–302 (1999)Google Scholar
  25. 25.
    OMG, MOF 2.0/XMI Mapping Specification, v2.1 formal/05-09-01Google Scholar
  26. 26.
  27. 27.

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Vittorio Cortellessa
    • 1
  • Fabrizio Marinelli
    • 1
  • Pasqualina Potena
    • 2
  1. 1.Dipartimento di InformaticaUniversità dell’AquilaCoppitoItaly
  2. 2.Dipartimento di ScienzeUniversità “G.D’Annunzio”PescaraItaly

Personalised recommendations