Some Contributions to Multi-Release Problems in Software Reliability and Successive Generations of Technologies
Abstract: Software reliability is defined as the probability of failure-free software operation for a specified period of time in a specified environment. The software reliability model is the tool, which can be used to evaluate software quantitatively, develop test status, schedule status and monitor the changes in reliability performance. In particular, software reliability models that describe the fault detection phenomenon in the testing phase are called software reliability growth models (SRGM). These models are useful in assessing reliability for the quality control and testing process control of software development. Software technologies like all systems have a hierarchy. Any software developed for a major application undergoes several generations of change. The changes improve the software and extend its useful life. In the last few decades it has been observed that the world of software development management (i.e. new product development, technology alliance etc.) has evolved rapidly due to the intensified market competition. Software companies plan successive releases of software by adding new features or new functionalities or try to improve performance of system as compared to previous releases. Microsoft Windows and Office, Adobe, Matlab represent good examples of such practice. This strategy provides some benefit for software companies. Few of them may be listed as: • It delivers quicker return to investment, limits the impact of market uncertainty, • Reduces the risk of project failure,• Provides firms with opportunities to refine their development methodologies • Improve product quality in later development cycles.The study in the thesis discusses various aspects of multi up-gradation SRGMs and successive generations of technologies. We have proposed mathematical models to manage the testing processes for building reliable software and predicting the adoption process of new technology products.As the software firm introduces new add-ons or features, software experiences a drastic increase in failure rate. Due to functionalities enhancements and feature up-gradations, the complexity of software is likely to be increased. We assume that, when the testing of a newly developed code is in progress there are chances that some faults of the previously released software may be detected and removed. In the thesis several aspects of multi release SRGM such as fault of different severity, imperfect debugging, effect of reported bugs are discussed. We have incorporated the concept of change in nature of fault during successive release of software.In addition, in some cases, fault is not corrected immediately once a failure is detected. For each detected fault, it is reported, diagnosed, verified, and then corrected. The time between detection and correction is not neligible in practical software testing process. The time to remove a detected fault depends on the complexity of the fault, the skill and experience of the debugging team, the available manpower, the software development environment. The unified framework for fault detection and correction processes for successive release of software is proposed.We have discussed two-dimensional modeling technique in area of software reliability engineering. In order to assure software quality and assess software reliability, many SRGMs have been proposed. In One-Dimension SRGMs researcher used one factor such as Testing-Time, Testing-Effort or Coverage, etc for designing the model but in two-Dimensional software reliability growth model, process depends on two-types of reliability growth factors like: ‘Testing-Time and Testing-Effort’ or ‘Testing-Time and Testing-Coverage’ or any combination between factors. The two dimensional models are developed using Cobb-Douglas production function. We have considered the case when failure distribution gets affected by factors, such as the running environment, testing strategy and resource allocation. Once these factors are changed during testing phase, it could result in failure intensity function that increases or decreases non-monotonically and the time point corresponding to abrupt fluctuations is called change point. The unified framework for two-dimensional SRGM with change-point for software reliability assessment is developed.Further, we have discussed a two-dimensional multi release SRGM by considering the combined effect of bugs encountered during testing of present release and user reported bugs from operational phase. A software cost model has been developed for multi up-gradation software reliability model under two-dimensional environments. Study of technology-market structure analysis involves describing how product generations compete against each other. New innovation in the market doesn’t immediately replace the previous one that it intends to substitute, but starts to compete with it. This creates a sequence of parallel diffusions of the existing generational products in the market. The need for introduction of a new technology generation can be explained with the help of S-curve or sigmoid diffusion curve. The extension of the Bass diffusion model that separates substitution from switching as well as leapfrogging The effect of Multi generation on Number of System-in-Use of the products has been formulated with the help of mathematical model in this thesis . The proposed methodology is built upon the assumption that adopters of each successive generation consist of four categories of customers, namely, (i) potential adoption of each generation,(ii) substitution, (iii) switchers, (iv) leapfrogging. In addition, The introduction time of a new product to the market is discussed. The timing decision depends on whether companies invest more time for product design or push the product to market before maturity. The study identifies attributes such as Customer’s Adoption Indicator and Cost that affect the introduction time of new generation. To trade-off between two decision factors, multi-attribute utility theory (MAUT) is applied in our decision space. Finally, we propose a modeling framework which accounts for the interactions between different dimensions of adoption i.e. time and price. Incorporating the dynamics of continuation time and the price of the product in the market has allowed us to model the diffusion process in two-dimensional framework. The applicability of the models proposed in the thesis is shown by validating them on software failure data sets obtained from different real software development projects using statistical package for social sciences (SPSS) and SAS software tool. The comparison with established models in terms of goodness of fit criteria, e.g.: Mean Squared Error (MSE), Coefficient of multiple determination (R2), Prediction Error (PE), Bias, Variation and Root Mean Squared Prediction Error (RMSPE) has been presented. Conclusion of the work done, directions for future research and an elaborate list of references are presented at the end of the thesis.
This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.