Modeling and Analysis of Software Fault Detection and Correction Process by Considering Time Dependency
ABSTRACT Software reliability modeling & estimation plays a critical role in software development, particularly during the software testing stage. Although there are many research papers on this subject, few of them address the realistic time delays between fault detection and fault correction processes. This paper investigates an approach to incorporate the time dependencies between the fault detection, and fault correction processes, focusing on the parameter estimations of the combined model. Maximum likelihood estimates of combined models are derived from an explicit likelihood formula under various time delay assumptions. Various characteristics of the combined model, like the predictive capability, are also analyzed, and compared with the traditional least squares estimation method. Furthermore, we study a direct, useful application of the proposed model & estimation method to the classical optimal release time problem faced by software decision makers. The results illustrate the effect of time delay on the optimal release policy, and the overall software development cost.
- SourceAvailable from: Yan-Fu Li[Show abstract] [Hide abstract]
ABSTRACT: This paper studies the fault detection process (FDP) and fault correction process (FCP) with the incorporation of testing effort function and imperfect debugging. In order to ensure high reliability, it is essential for software to undergo a testing phase, during which faults can be detected and corrected by debuggers. The testing resource allocation during this phase, which is usually depicted by the testing effort function, considerably influences not only the fault detection rate but also the time to correct a detected fault. In addition, testing is usually far from perfect such that new faults may be introduced. In this paper, we first show how to incorporate testing effort function and fault introduction into FDP and then develop FCP as delayed FDP with a correction effort. Various specific paired FDP and FCP models are obtained based on different assumptions of fault introduction and correction effort. An illustrative example is presented. The optimal release policy under different criteria is also discussed.Reliability Engineering [?] System Safety 01/2014; 126. DOI:10.1016/j.ress.2014.01.004 · 2.05 Impact Factor
- [Show abstract] [Hide abstract]
ABSTRACT: Fault reduction factor (FRF) plays the most important role in software reliability and it is generally defined as the ratio of the total number of reduced faults to total failures experienced. The behavior of FRF is not fixed and it can be affected by many factors, e.g., imperfect debugging, resource allocations, debugging time lag, etc. In most of the studies, either constant, increasing or decreasing FRF have been considered which are not sufficient to represent the realistic behavior of FRF. In this study, there are three models presented in the paper. In the first two models, inflection S-shaped curve is considered as FRF and in the third model FRF is constant. The first model works in perfect debugging environment whereas second and third models work in imperfect debugging environment. Here, first two models are developed for single release software systems and third model is developed for the multi-release software systems. Finally, a comparison has been made with the existing models in literature.Applied Mathematical Modelling 09/2014; 39(5-6). DOI:10.1016/j.apm.2014.08.006 · 2.16 Impact Factor
- [Show abstract] [Hide abstract]
ABSTRACT: Software is currently a key part of many safety-critical and life-critical application systems. People always need easy- and instinctive-to-use software, but the biggest challenge for software engineers is how to develop software with high reliability in a timely manner. To assure quality, and to assess the reliability of software products, many software reliability growth models (SRGMs) have been proposed in the past three decades. The practical problem is that sometimes these selected SRGMs by companies or software practitioners disagree in their reliability predictions, while no single model can be trusted to provide consistently accurate results across various applications. Consequently, some researchers have proposed to use combinational models for improving the prediction capability of software reliability. In this paper, three enhanced weighted-combinations, namely weighted arithmetic, weighted geometric, and weighted harmonic combinations, are proposed. To solve the problem of determining proper weights for model combinations, we further study how to incorporate enhanced genetic algorithms (EGAs) with several efficient operators into weighted assignments. Experiments are performed based on real software failure data, and numerical results show that our proposed models are flexible enough to depict various software development environments. Finally, some management metrics are presented to both assure software quality and determine the optimal release strategy of software products under development.IEEE Transactions on Reliability 09/2014; 63(3):731-749. DOI:10.1109/TR.2014.2315966 · 1.66 Impact Factor