Automated Selection of Software Components Based on Cost/Reliability Tradeoff

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.

[1]  Reidar Conradi,et al.  An empirical study of variations in COTS-based software development processes in the Norwegian IT industry , 2004, 10th International Symposium on Software Metrics, 2004. Proceedings..

[2]  Katerina Goseva-Popstojanova,et al.  Assessing uncertainty in reliability of component-based software systems , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[3]  Ho-Won Jung,et al.  Selecting Optimal COTS Products Considering Cost and Failure Rate , 1999 .

[4]  Mark Klein,et al.  Experience with performing architecture tradeoff analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[5]  Kishor S. Trivedi Probability and Statistics with Reliability, Queuing, and Computer Science Applications , 1984 .

[6]  Naruemon Wattanapongsakorn Reliability Optimization for Software Systems With Multiple Applications , 2001 .

[7]  Ho-Won Jung,et al.  Optimizing Value and Cost in Requirements Analysis , 1998, IEEE Softw..

[8]  J. Voas,et al.  Software Testability: The New Verification , 1995, IEEE Softw..

[9]  Ming Zhao,et al.  Planning Models for Software Reliability and Cost , 1998, IEEE Trans. Software Eng..

[10]  Hany H. Ammar,et al.  Error propagation in software architectures , 2004, 10th International Symposium on Software Metrics, 2004. Proceedings..

[11]  Mark Klein,et al.  Quantifying the costs and benefits of architectural decisions , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[12]  Y. Censor Pareto optimality in multiobjective problems , 1977 .

[13]  Carina Frota Alves,et al.  Challenges in COTS decision-making: a goal-driven requirements engineering perspective , 2002, SEKE '02.

[14]  Sunil Kamavaram,et al.  Uncertainty Analysis of Software Reliability Based on Method of Moments , 2002 .

[15]  James M. Bieman,et al.  Software architecture classification for estimating the cost of COTS integration , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[16]  Katerina Goseva-Popstojanova,et al.  Architecture-based approach to reliability assessment of software systems , 2001, Perform. Evaluation.

[17]  Steven P. Levitan,et al.  Reliability optimization models for fault-tolerant distributed systems , 2001, Annual Reliability and Maintainability Symposium. 2001 Proceedings. International Symposium on Product Quality and Integrity (Cat. No.01CH37179).

[18]  Swapna S. Gokhale,et al.  An analytical approach to architecture-based software performance and reliability prediction , 2004, Perform. Evaluation.

[19]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[20]  Eda Marchetti,et al.  Introducing a Reasonably Complete and Coherent Approach for Model-based Testing , 2005, TACoS.

[21]  Charles E. Perkins,et al.  IP Mobility Support , 1996, RFC.

[22]  Byoungju Choi,et al.  Optimization models for quality and cost of modular software systems , 1999, Eur. J. Oper. Res..

[23]  Deeparnab Chakrabarty,et al.  Knapsack Problems , 2008 .

[24]  Bojan Cukic,et al.  How Many Tests are Enough , 2000 .

[25]  Mark Klein,et al.  Attribute-Based Architectural Styles , 1999 .

[26]  Lorenzo Strigini,et al.  On the Use of Testability Measures for Dependability Assessment , 1996, IEEE Trans. Software Eng..