Quantitative Analysis and Performance Assessment of Software Reliability Growth Models

博士 === 國立臺灣大學 === 電機工程學研究所 === 88 === For many applications, software reliability is crucial and must be given predominant attention. A study of the spreading, detection and costs of software faults shows the necessity to apply software reliability models to predict the behavior of failure occurrenc...

Full description

Bibliographic Details
Main Authors: Chin-Yu Huang, 黃慶育
Other Authors: Sy-Yen Kuo
Format: Others
Language:zh-TW
Published: 2000
Online Access:http://ndltd.ncl.edu.tw/handle/30657165273578223835
Description
Summary:博士 === 國立臺灣大學 === 電機工程學研究所 === 88 === For many applications, software reliability is crucial and must be given predominant attention. A study of the spreading, detection and costs of software faults shows the necessity to apply software reliability models to predict the behavior of failure occurrences and the fault content of a software product. The choice of model must be based on an evaluation of numerous comparison criteria. In this dissertation, we will first investigate a Software Reliability Growth Model (SRGM) based on the Non Homogeneous Poisson Process (NHPP) which incorporates a logistic testing-effort function. Software reliability growth models proposed in the literature all take into consideration the amount of testing-effort spent on software testing which can be depicted as an exponential curve, a Rayleigh curve, or a Weibull curve. However, it may not be reasonable to represent the consumption curve for testing-effort by only an exponential, a Rayleigh, or a Weibull curve in some certain software development environments. Therefore, we will show that a logistic testing-effort function can be expressed as a software development/test effort curve and give a reasonable predictive capability for the real failure data. Parameters are estimated and experiments performed on three actual test/debug data sets are illustrated. The results show that the Software Reliability Growth Model with logistic testing-effort Function can estimate the number of initial faults better than the model with Weibull-type consumption curve. In addition, an optimal release policy for this model based on the cost-reliability criterion is proposed. Based on above statements, we will show that the logistic testing-effort function is practically acceptable/helpful for modeling software reliability growth and providing a reasonable description of resource consumption. Therefore, in addition to the exponential-shaped models, we will integrate the logistic testing-effort function into S-shaped model for further analysis. The model is designated as the Yamada Delayed S-shaped model. A realistic failure data set is used in the experiments to demonstrate the estimation procedures and results. Predictive validity and other quantitative measures are also presented. Furthermore, the analysis of the proposed model under imperfect debugging environment is investigated. The related mathematical properties of the proposed model are also discussed. From these experimental results and discussions, it is apparent that the logistic testing-effort function is well suitable for making estimations of resource consumption during the software development/ testing phase. Many studies have been performed on the subject of software reliability, but few explicitly consider the impact of software testing to the reliability process. Therefore, we will present how to link software reliability modeling and software reliability economics: testing effort and efficiency. First, we will discuss on extending the logistic testing-effort function to a generalized form. The generalized logistic testing-effort function has the advantage of relating work profile more directly to the natural flow of software development. Therefore, it can be used to describe the actual consumption of resources during software development process and get a conspicuous improvement in modeling testing-effort expenditures. We incorporate the generalized logistic testing-effort function into software reliability modeling and evaluate its fault-prediction capability through several numerical experiments on real data. The mathematical properties of the proposed model are also discussed. Secondly, we address the effects of automated techniques or tools for increasing the efficiency of software testing. We propose a modified software reliability cost model to reflect the effectiveness of introducing new testing techniques. In addressing the optimal release time, we consider cost and reliability factors. Moreover, we introduce the concept of testing efficiency, and describe how reliability growth models can be adapted to incorporate this new parameter. New theorems are proposed, and numerical illustrations are presented. From the experimental results, we obtain an innovative software economic policy which provides a comprehensive analysis on software based on reliability, cost and test efficiency. Finally, a new scheme for constructing software reliability growth models based on NHPP is proposed. The main focus is to provide an efficient parametric decomposition method for software reliability modeling, which considers both testing efforts and fault detection rates. In general, the software fault detection/removal mechanisms are dependent on previously detected/ removed faults and how testing efforts are consumed. From practical field studies, it is likely that we can estimate testing efforts consumption pattern and predict the trends of fault detection rate. Consequently, we develop a set of time-variable, testing-effort-based fault detection rate models that have the inherent flexibility of capturing a wide range of possible fault detection trends: increasing, decreasing and constant. This scheme has a flexible structure and is able to model a wide spectrum of software development environment considering various testing efforts. We describe and elaborate the fault detection rates, which can be obtained from historical records of previous releases or other similar software projects, and incorporate the related testing activities in the new modeling approach. The applicability of the proposed model and the related parametric decomposition methods are demonstrated through several real data sets from different software projects. Our evaluation results show that the proposed framework to incorporate testing efforts and fault detection rates for SRGMs has a fairly accurate prediction capability and it depicts the real-life situation more faithfully. This technique can be applied to a wide range of software systems. Altogether, from the results of research in software reliability modeling during the past five years, we have already presented an overview of the modeling approaches and assessed the limitations and applicability of these models. In fact, some models sometimes give good results, some are almost universally awful, and none can be trusted to be accurate at all times. From our experiments, we know that no one single model has been shown to be sufficiently trustworthy in all applications.