This book presents current methods for dealing with software reliability, illustrating the advantages and disadvantages of each method. The description of the techniques is intended for a non-expert audience with some minimal technical background. It also describes some advanced techniques, aimed at researchers and practitioners in software engineering. This reference will serve as an introduction to formal methods and techniques and will be a source for learning about various ways to enhance software reliability. Various projects and exercises give readers hands-on experience with the various formal methods and tools.
This book presents current methods for dealing with software reliability, illustrating the advantages and disadvantages of each method. The description of the techniques is intended for a non-expert audience with some minimal technical background. It also describes some advanced techniques, aimed at researchers and practitioners in software engineering. This reference will serve as an introduction to formal methods and techniques and will be a source for learning about various ways to enhance software reliability. Various projects and exercises give readers hands-on experience with the various formal methods and tools.
The book begins with an introduction to software reliability, models and techniques. The book is an informative book covering the strategies needed to assess software failure behaviour and its quality, as well as the application of optimization tools for major managerial decisions related to the software development process. It features a broad range of topics including software reliability assessment and apportionment, optimal allocation and selection decisions and upgradations problems. It moves through a variety of problems related to the evolving field of optimization of software reliability engineering, including software release time, resource allocating, budget planning and warranty models, which are each explored in depth in dedicated chapters. This book provides a comprehensive insight into present-day practices in software reliability engineering, making it relevant to students, researchers, academics and practising consultants and engineers.
Explains how software reliability can be applied to software programs of all sizes, functions and languages, and businesses. This text provides real-life examples from industries such as defence engineering, and finance. It is aimed at software and quality assurance engineers and graduate students.
Software reliability is one of the most important characteristics of software product quality. Its measurement and management technologies during the software product life cycle are essential to produce and maintain quality/reliable software systems. Part 1 of this book introduces several aspects of software reliability modeling and its applications. Hazard rate and nonhomogeneous Poisson process (NHPP) models are investigated particularly for quantitative software reliability assessment. Further, imperfect debugging and software availability models are discussed with reference to incorporating practical factors of dynamic software behavior. Three software management problems are presented as application technologies of software reliability models: the optimal software release problem, the statistical testing-progress control, and the optimal testing-effort allocation problem. Part 2 of the book describes several recent developments in software reliability modeling and their applications as quantitative techniques for software quality/reliability measurement and assessment. The discussion includes a quality engineering analysis of human factors affecting software reliability during the design review phase, which is the upper stream of software development, as well as software reliability growth models based on stochastic differential equations and discrete calculus during the testing phase, which is the lower stream. The final part of the book provides an illustration of quality-oriented software management analysis by applying the multivariate analysis method and the existing software reliability growth models to actual process monitoring data.
Due to the growing use of web applications and communication devices, the use of data has increased throughout various industries, including business and healthcare. It is necessary to develop specific software programs that can analyze and interpret large amounts of data quickly in order to ensure adequate usage and predictive results. Cognitive Analytics: Concepts, Methodologies, Tools, and Applications provides emerging perspectives on the theoretical and practical aspects of data analysis tools and techniques. It also examines the incorporation of pattern management as well as decision-making and prediction processes through the use of data management and analysis. Highlighting a range of topics such as natural language processing, big data, and pattern recognition, this multi-volume book is ideally designed for information technology professionals, software developers, data analysts, graduate-level students, researchers, computer engineers, software engineers, IT specialists, and academicians.
In establishing a framework for dealing with uncertainties in software engineering, and for using quantitative measures in related decision-making, this text puts into perspective the large body of work having statistical content that is relevant to software engineering. Aimed at computer scientists, software engineers, and reliability analysts who have some exposure to probability and statistics, the content is pitched at a level appropriate for research workers in software reliability, and for graduate level courses in applied statistics computer science, operations research, and software engineering.
A high percentage of defense systems fail to meet their reliability requirements. This is a serious problem for the U.S. Department of Defense (DOD), as well as the nation. Those systems are not only less likely to successfully carry out their intended missions, but they also could endanger the lives of the operators. Furthermore, reliability failures discovered after deployment can result in costly and strategic delays and the need for expensive redesign, which often limits the tactical situations in which the system can be used. Finally, systems that fail to meet their reliability requirements are much more likely to need additional scheduled and unscheduled maintenance and to need more spare parts and possibly replacement systems, all of which can substantially increase the life-cycle costs of a system. Beginning in 2008, DOD undertook a concerted effort to raise the priority of reliability through greater use of design for reliability techniques, reliability growth testing, and formal reliability growth modeling, by both the contractors and DOD units. To this end, handbooks, guidances, and formal memoranda were revised or newly issued to reduce the frequency of reliability deficiencies for defense systems in operational testing and the effects of those deficiencies. "Reliability Growth" evaluates these recent changes and, more generally, assesses how current DOD principles and practices could be modified to increase the likelihood that defense systems will satisfy their reliability requirements. This report examines changes to the reliability requirements for proposed systems; defines modern design and testing for reliability; discusses the contractor's role in reliability testing; and summarizes the current state of formal reliability growth modeling. The recommendations of "Reliability Growth" will improve the reliability of defense systems and protect the health of the valuable personnel who operate them.
Software Reliability Assessment with OR Applications is a comprehensive guide to software reliability measurement, prediction, and control. It provides a thorough understanding of the field and gives solutions to the decision-making problems that concern software developers, engineers, practitioners, scientists, and researchers. Using operations research techniques, readers will learn how to solve problems under constraints such as cost, budget and schedules to achieve the highest possible quality level. Software Reliability Assessment with OR Applications is a comprehensive text on software engineering and applied statistics, state-of-the art software reliability modeling, techniques and methods for reliability assessment, and related optimization problems. It addresses various topics, including: unification methodologies in software reliability assessment; application of neural networks to software reliability assessment; software reliability growth modeling using stochastic differential equations; software release time and resource allocation problems; and optimum component selection and reliability analysis for fault tolerant systems. Software Reliability Assessment with OR Applications is designed to cater to the needs of software engineering practitioners, developers, security or risk managers, and statisticians. It can also be used as a textbook for advanced undergraduate or postgraduate courses in software reliability, industrial engineering, and operations research and management.
This book summarizes the recent advances in software reliability modelling. Almost all the existing models are classified and the most interesting models are described in detail.Because of the application of software in many industrial, military and commercial systems, software reliability has become an important research area. Although there are many models and results appeared in different journals and conference proceedings, there is a lack of systematic publications on this subject. The aim of this book is to provide an overview of this area and provide software reliability researchers and analysts with a systematic study of the existing results. This book can also be used as a reference book for other software engineers and reliability theoreticians interested in this area.