Economic analysis of software release problems with warranty cost and reliability requirement

https://doi.org/10.1016/S0951-8320(99)00020-4Get rights and content

Abstract

We discuss optimal software release problems which consider both a present value and a warranty period (in the operational phase) during which the developer has to pay the cost for fixing any faults detected. It is very important with respect to software development management that we solve an optimal software testing time by integrating the total expected testing cost and the reliability requirement. We apply a nonhomogeneous Poisson process model to the formulation of a software cost model and analyze three typical cases of the cost model. Moreover, we derive several optimal release polices. Finally, numerical examples are shown to illustrate the results of the optimal policies.

Introduction

Today, computer systems are indispensable in our lives, and their importance and needs have been increasing. Thus, we require more large-scale and complex software systems to construct such computer systems. However, a computer software is developed by human work, so many software faults must be introduced into the software product during its development process. Therefore, it is very important to apply useful technologies for developing a highly reliable software system.

Recently, it is becoming increasingly difficult for the developers to produce highly-reliable software systems efficiently. Thus, it has been necessary to control a software development process in terms of reliability, cost, and release time. In the last phase of software development process, the testing is carried out to detect and fix software faults introduced by human work, prior to its release for the operational use. The software faults that cannot be detected and fixed remain in the released software system after the testing phase. Thus, if a software failure occurs during the operational phase, then a computer system stops working and it may cause serious damage to our daily life.

If the length of software testing is long, we can remove many software faults in the system and its reliability increases. However, it leads to increase the testing cost and to delay software delivery. In contrast, if the length of software testing is short, a software system with low reliability is delivered and it includes many software faults which have not been removed in the testing phase. Thus, the maintenance cost during the operation phase increases.

So, it is very important in terms of software management that we solve for the optimal length of software testing, what is called an optimum release time. Such a decision problem is called an optimal software release problem [1], [2], [3], [4], [5], [6], [7], [8]. These decision problems have been studied in the last decade by many researchers. Several optimal policies for releasing the software products have been actually used in the real software development processes. For instance, Chaar et al. [9] have treated the issues in terms of the software inspection and test, and have discussed them minutely by introducing the concept of defect trigger during the actual software development processes.

In this article, we discuss several optimal release policies which provide the total testing time minimizing the total expected software cost and satisfying a reliability requirement. Moreover, it is assumed that there will be a warranty period [10] at the beginning of the operational phase during which the developer has to pay the cost for fixing any faults detected. We also introduce the concept of present value [3], [6] into the cost factors.

In the following, we describe the software reliability growth models (SRGMs) [11], [12], [13], [14], [15], [16] based on a nonhomogeneous Poisson process (NHPP) and the total expected maintenance cost is formulated in Section 2. The optimal software release problems with cost and reliability requirements are represented in Section 3. We analyze the software maintenance cost model and derive the optimal release policies in Section 4. Numerical examples are shown to illustrate the optimal policies in Section 5.

Section snippets

Applied SRGM

In the testing phase of software development and its operational phase, it is natural that we should apply probability and statistic theories to a software failure-occurrence or software fault-detection phenomenon for describing the stochastic behavior. Generally, the implemented software system is investigated whether the system can perform properly by its specification requirements. Concretely, many test-cases which are generated prior to the testing phase from the specification requirements,

Software maintenance cost models

The following notations are defined:

    c0

    initial testing cost which is the barest minimum requirement;

    ct

    testing cost per unit time;

    cw

    maintenance cost per one fault during the warranty period;

    T

    software release time, i.e. additional total testing time;

    T*

    optimum software release time.

Analysis of maintenance cost models

We discuss the optimum release time minimizing the total expected software cost WC(T) in Eq. (5) based on the exponential software reliability growth model formulated by , in respective cases.

First, we consider the optimal release policies of Case 1. Substituting Eq. (6) into Eq. (5), we rewrite it as:WC(T)=c0+ct0Te−αtdt+cwhm(T)TT+Twe−αtdt.Differentiating Eq. (13) in terms of T and equating it to zero yields:hm(t)=ctcwTw(b+α).Note that WC(T) is a convex function with respect to T because d2

Numerical examples

In this section, we show numerical examples to illustrate the optimal release policies derived in the previous section. We assume the parameters in the exponential SRGM and cost factors as follows:c0=1000.0,cw=20.0,a=1000.0,b=0.05.Table 1 shows the optimum release times for several values of the testing ct and the warranty period Tw or μ. As the length of the warranty period is long, the optimum release time increases. Thus, it is shown that we have to spend enough time to test the software

Conclusion

In this article, we have discussed the method of determining an optimum release time by using the maintenance cost model. Software cost factors and software reliability requirement in the testing/operational phase have been considered. Especially, we have introduced the concept of present value into the cost factors and have considered warranty period in the operational phase. We have applied the exponential SRGM to the formulation of the total expected software cost and considered three cases

Acknowledgements

This work was supported in part by a Grant-in-Aid for Scientific Research from the Ministry of Education, Science, and Culture of Japan (Grant No. 10680431, 09780410).

References (16)

  • K. Okumoto et al.

    Optimum release time for software system based on reliability and cost criteria

    J. Systems and Software

    (1980)
  • S. Yamada et al.

    Optimal software release policies with simultaneous cost and reliability requirements

    Eur. J. Oper. Res.

    (1987)
  • B.C. Cho et al.

    An optimal time for software testing under the user’s requirement of failure-free demonstration before release

    IEICE Trans. Fundamentals

    (1994)
  • E.H. Foreman et al.

    Optimal time intervals for testing-hypotheses on computer software errors

    IEEE Trans. Reliability

    (1979)
  • Kimura M, Yamada S. Optimal software policies with random life-cycle and delivery delay.In: Proc. 2nd ISSAT Int. Conf....
  • H.S. Koch et al.

    Optimal release time for computer software

    IEEE Trans. Softw. Engng

    (1983)
  • S. Yamada

    Optimal release problems with warranty period based on a software maintenance cost model

    Trans. IPS Japan

    (1994)
  • S. Yamada et al.

    Optimal software release problems with life-cycle distribution and discount rate

    Trans. IPS Japan

    (1993)
There are more references available in the full text version of this article.

Cited by (56)

  • A comprehensive analysis of warranty claims and optimal policies

    2019, European Journal of Operational Research
    Citation Excerpt :

    In this paper, we chiefly discuss software subsystems embedded in hardware subsystems. In spite of great advancements in software reliability/quality assurance, potential faults may still be introduced into the software during its development process (Kimura, Toyota, & Yamada, 1999; Williams, 2007). Software failures are usually caused by incorrect logic, incorrect statements, incorrect input data, and what not.

  • Software reliability and cost models with warranty and life cycle

    2023, Proceedings of the Institution of Mechanical Engineers, Part O: Journal of Risk and Reliability
View all citing articles on Scopus
View full text