A model and its algorithm for software reuse optimization problem with simultaneous reliability and cost consideration

In this paper, a model is proposed where the cost and reliability of activities of reuse-based development can be predicted or measured, and all possible reuse scenarios can be analyzed and compared to support the selection of alternative scenarios. A scheme of typical reuse mode is designed from the perspectives of application engineering and domain engineering activities. According to the scheme, six reuse modes are addressed from the sequences of activities. Alternative industry reuse scenarios can be derived from the modes. An optimization model is proposed that can assist decision-makers in selecting a reuse scenario for minimizing cost, maximizing reliability and satisfying system requirements. To solve efficiently the bi-objective 0-1 integer programming involved in the model, a new algorithm is presented that can find the entire set of efficient solutions.

[1]  Uday R. Kulkarni,et al.  Strategies for Software Reuse: A Principal Component Analysis of Reuse Practices , 2003, IEEE Trans. Software Eng..

[2]  Daniel Vanderpooten,et al.  Solving efficiently the 0-1 multi-objective knapsack problem , 2009, Comput. Oper. Res..

[3]  Barry W. Boehm,et al.  Achievements and Challenges in Cocomo-Based Software Resource Estimation , 2008, IEEE Software.

[4]  Yang-Hsin Fan,et al.  Adaptive multi-constraints in hardware-software partitioning for embedded multiprocessor FPGA systems , 2009 .

[5]  Vittorio Cortellessa,et al.  An optimization framework for "build-or-buy" decisions in software architecture , 2008, Comput. Oper. Res..

[6]  Sebastián Uchitel,et al.  Deriving event-based transition systems from goal-oriented requirements models , 2008, Automated Software Engineering.

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

[8]  G. Dantzig Discrete-Variable Extremum Problems , 1957 .

[9]  José Rui Figueira,et al.  Core problems in bi-criteria {0, 1}-knapsack problems , 2008, Comput. Oper. Res..

[10]  Daniel Amyot,et al.  Introduction to the User Requirements Notation: learning by example , 2003, Comput. Networks.

[11]  Oded Berman,et al.  Optimization Models for Reliability of Modular Software Systems , 1993, IEEE Trans. Software Eng..

[12]  Liu Feng-yu Research on Software Rejuvenation , 2007 .

[13]  R. van Ommering Software reuse in product populations , 2005, IEEE Transactions on Software Engineering.

[14]  Luiz Fernando Capretz,et al.  The software product line architecture: An empirical investigation of key process activities , 2008, Inf. Softw. Technol..

[15]  Oded Berman,et al.  Optimal software implementation considering reliability and cost , 1998, Comput. Oper. Res..

[16]  Tsvi Kuflik,et al.  Evaluating software reuse alternatives: a model and its application to an industrial case study , 2004, IEEE Transactions on Software Engineering.

[17]  Carina Alves,et al.  COTS-Based Requirements Engineering , 2003, Component-Based Software Quality.

[18]  Barry W. Boehm,et al.  Managing Software Productivity and Reuse , 1999, Computer.

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

[20]  John D. McGregor,et al.  Project management in a software product line organization , 2005, IEEE Software.

[21]  Perry Alexander,et al.  SPARTACAS: automating component reuse and adaptation , 2004, IEEE Transactions on Software Engineering.

[22]  Ivica Crnkovic,et al.  Experimenting the Automated Selection of COTS Components Based on Cost and System Requirements , 2008, J. Univers. Comput. Sci..

[23]  Axel van Lamsweerde,et al.  Handling Obstacles in Goal-Oriented Requirements Engineering , 2000, IEEE Trans. Software Eng..

[24]  Richard W. Selby,et al.  Enabling reuse-based software development of large-scale systems , 2005, IEEE Transactions on Software Engineering.

[25]  Jacques Teghem,et al.  Two-phases Method and Branch and Bound Procedures to Solve the Bi–objective Knapsack Problem , 1998, J. Glob. Optim..

[26]  Vittorio Cortellessa,et al.  Automated Selection of Software Components Based on Cost/Reliability Tradeoff , 2006, EWSA.