This Article 
 Bibliographic References 
 Add to: 
Planning Models for Software Reliability and Cost
June 1998 (vol. 24 no. 6)
pp. 420-434

Abstract—This paper presents modeling frameworks for distributing development effort among software components to facilitate cost-effective progress toward a system reliability goal. Emphasis on components means that the frameworks can be used, for example, in cleanroom processes and to set certification criteria. The approach, based on reliability allocation, uses the operational profile to quantify the usage environment and a utilization matrix to link usage with system structure. Two approaches for reliability and cost planning are introduced: Reliability-Constrained Cost-Minimization (RCCM) and Budget-Constrained Reliability-Maximization (BCRM). Efficient solutions are presented corresponding to three general functions for measuring cost-to-attain failure intensity. One of the functions is shown to be a generalization of the basic COCOMO form. Planning within budget, adaptation for other cost functions and validation issues are also discussed. Analysis capabilities are illustrated using a software system consisting of 26 developed modules and one procured module. The example also illustrates how to specify a reliability certification level, and minimum purchase price, for the procured module.

[1] M.S. Bazaraa, J.J. Jarvis, and H.D. Sherali, Linear Programming and Network Flows, second edition. New York: John Wiley&Sons, 1990.
[2] M.S. Bazaraa and C.M. Shetty, Nonlinear Programming: Theory and Algorithms, first edition. New York: John Wiley&Sons, 1979.
[3] B. Bergman, "On Reliability Theory and Its Applications," Scandinavian J. Statistics, vol. 12, pp. 1-41, 1985.
[4] B.W. Boehm, Software Eng. Economics.New Jersey: Prentice Hall, 1981.
[5] R. Brent, Algorithms for Minimization without Derivatives.New Jersey: Prentice Hall, 1973.
[6] J.E. Dennis and R.B. Schnabel, Numerical Methods for Unconstrained Optimization and Nonlinear Equations.New Jersey: Prentice Hall, 1983.
[7] M. Dyer, The Cleanroom Approach to Quality Software Development.New York: John Wiley&Sons, 1992.
[8] G.E. Forsythe, M.A. Malcolm, and C.B. Moler, Computer Methods for Math. Computations.New Jersey: Prentice Hall, 1977.
[9] R. Hou, S. Kuo, and Y. Chang, "Optimal Release Policy for Hyper-Geometric Distribution Software-Reliability Growth Model," IEEE Trans. Reliability, vol. 45, no. 4, pp. 646-651, 1996.
[10] R. Hou, S. Kuo, and Y. Chang, "Needed Resources for Software Module Test, Using the Hyper-Geometric Software Reliability Growth Model," IEEE Trans. Reliability, vol. 45, no. 4, pp. 541-549, 1996.
[11] B.A. Kitchenham, "Empirical Studies of Assumptions that Underlie Software Cost-Estimation Models," Information and Software Technology, vol. 34, no. 4, pp. 211-218, 1992.
[12] P. Kubat, "Assessing Reliability of Modular Software," Operations Research Letters, vol. 8, no. 1, pp. 35-41, 1989.
[13] Y.-W. Leung, "Optimal Reliability Allocation for Modular Software Systems Designed for Multiple Customers," IEICE Trans. Information and Systems, vol. E79-D, no. 12, pp. 1655-1662, 1996.
[14] B. Littlewood, "Software Reliability Model for Modular Program Structure," IEEE Trans. Reliability, vol. R-28, no. 3, pp. 241-246, 1979.
[15] Software Fault Tolerance, M.R. Lyu, ed., New York: John Wiley&Sons, 1995.
[16] MATLAB (R), Version 5.0, The MathWorks, Inc., Natick, Mass., copyright 1984-1996.
[17] J.D. Musa,A. Iannino,, and K. Okumoto,Software Reliability: Measurement, Prediction and Application.New York: McGraw-Hill, 1987.
[18] J.D. Musa, "Operational Profiles in Software Reliability Engineering," IEEE Software, vol. 10, no. 2, pp. 14-32, 1993.
[19] J. Musa, Software Reliability Engineering. New York: McGraw-Hill, 1998.
[20] J.H. Poore,H.D. Mills,, and D. Mutcher,“Planning and certifying software system reliability,” IEEE Software, pp. 88-99, Jan. 1993.
[21] J.H. Poore and C.J. Trammell, Cleanroom Software Engineering: A Reader.Oxford, England: Blackwell, 1995.
[22] F. Zahedi, "The Analytic Hierarchy Process—A Survey of the Method and Its Applications," Interfaces, vol. 16, no. 4, pp. 96-108, 1986.
[23] F. Zahedi and N. Ashrafi, "Software Reliability Allocation Based on Structure, Utility, Price and Cost," IEEE Trans. Software Eng., vol. 17, no. 4, pp. 345-356, 1991.
[24] M. Zhao and B. Bergman, "Statistical Usage Testing: An Overview from the Perspective of Software Reliability," Linköping Univ., Quality Technology and Management Report Series, LiTH-IKP-R, no. 839, 1995.

Index Terms:
Budget constraints, certification, cleanroom software development, COCOMO, Budget-Constrained Reliability-Maximization (BCRM) Model*, cost planning, failure intensity, Lagrangian multipliers, linear programming, operational profile, nonlinear programming, reliability allocation, Reliability-Constrained Cost-Minimization (RCCM) Model*, software components, software reliability. (*Terms introduced in this paper.)
Mary E. Helander, Ming Zhao, Niclas Ohlsson, "Planning Models for Software Reliability and Cost," IEEE Transactions on Software Engineering, vol. 24, no. 6, pp. 420-434, June 1998, doi:10.1109/32.689400
Usage of this product signifies your acceptance of the Terms of Use.