Software reliability assessment with OR applications.
This book refers to the software reliability engineering (SRE) discipline, which has been explained by the IEEE Society as widely applicable, standard and proven practice that applies a systematic, disciplined, quantifiable approach to software development, tests, operations, maintenance, and evolution with emphasis on reliability and the study of these approaches. Software reliability is defined by the IEEE as ``an attribute that a software system will perform its function without failure for a given period of time in the specified operational environment''. This book describes all demands and requirements of the SRE discipline. Moreover, it presents the state-of-the-art modeling of the software reliability over the past 40 years in one place. Many optimization applications of the software reliability modeling solved using the tools of operational research are also discussed in this book. In the introduction chapter, basic knowledge required to understand the content of the book is provided. Chapter 2 describes the earlier literature on software reliability models such as S-shaped and flexible models. The reliability models presented here refer to a distributed environment. The models of software reliability under the imperfect debugging environment are presented in Chapter 3. In Chapter 4, a detailed discussion on the testing required to achieve the desired reliability is presented. Chapter 5 addresses the concept of the change point developer for software modeling in the more realistic situations, such as additional testing efforts in terms of new techniques, various testing and debugging, etc. In Chapter 6, the unification schemes of the software reliability growth modeling are provided. We can notice that establishment of the unification methodology belongs to one of the very recent topics of research in the software reliability modeling and is presented for the first time in this book. Like uniform schemes, software reliability models based on the artificial neural networks are presented in Chapter 7. The stochastic differential equations study for software reliability growth modeling are presented in Chapter 8. This research area gained much popularity and is seen to be more and more useful in the current years. The discrete time models, in contradiction to all reliability growth models presented in the previous chapters, which are the continuous time models, are used in Chapter 9 for the software reliability growth with the imperfect fault debugging and fault removal phenomenon. It is obvious that these models better fit than their continuous time growth models. Chapters 10 and 11 provide a study of the optimization applications of the reliability growth models. The problem of software reliability models for the fault tolerant systems is presented in Chapter 12. This chapter, among others, provides a complete knowledge of the optimum system composition problem for the software systems used for the critical operations. This very useful book contains also many appendices, index terms, references, and exercises. It is addressed to all software engineers, developers, security or risk managers, and statisticians. Moreover, it can also be used as a textbook by advanced undergraduate as well as postgraduate students in various courses on software engineering, software reliability, industrial engineering, operations research and management.
reliability, testing and fault tolerance
mathematical aspects of software engineering, verification, metrics
scientific article; zbMATH DE number 5824551