Skip to main content
main-content

Über dieses Buch

The development of software system with acceptable level of reliability and quality within available time frame and budget becomes a challenging objective. This objective could be achieved to some extent through early prediction of number of faults present in the software, which reduces the cost of development as it provides an opportunity to make early corrections during development process. The book presents an early software reliability prediction model that will help to grow the reliability of the software systems by monitoring it in each development phase, i.e. from requirement phase to testing phase. Different approaches are discussed in this book to tackle this challenging issue. An important approach presented in this book is a model to classify the modules into two categories (a) fault-prone and (b) not fault-prone. The methods presented in this book for assessing expected number of faults present in the software, assessing expected number of faults present at the end of each phase and classification of software modules in fault-prone or no fault-prone category are easy to understand, develop and use for any practitioner. The practitioners are expected to gain more information about their development process and product reliability, which can help to optimize the resources used.

Inhaltsverzeichnis

Frontmatter

Chapter 1. Introduction

Abstract
Nowadays, software is playing an ever increasing role in our daily lives, from listening music at homes to uninterrupted entertainment during travel, from driving car to ensuring safe air travel, and from variety of home appliances to safety critical medical equipments. It is virtually impossible to conduct many day-to-day activities without the aid of computer systems controlled by software. As more reliance is placed on these software systems, it is essential that they operate reliably. Failure to do so can result in high monetary, property, or human losses. Early sofware reliability prediction can help the developers to produce reliable software in lesser cost and time.
Ajeet Kumar Pandey, Neeraj Kumar Goyal

Chapter 2. Background: Software Quality and Reliability Prediction

Abstract
Size, complexity, and human dependency on software--based products have grown dramatically during past decades. Software developers are struggling to deliver reliable software with acceptable level of quality, within given budget and schedule. One measure of software quality and reliability is the number of residual faults. Therefore, researchers are focusing on the identification of the number of fault presents in the software or identification of program modules that are most likely to contain faults. A lot of models have been developed using various techniques. A common approach is followed for software reliability prediction utilizing failure data. Software reliability and quality prediction is highly desired by the stakeholders, developers, managers, and end users. Detecting software faults early during development will definitely improve the reliability and quality in cost-effective way.
Ajeet Kumar Pandey, Neeraj Kumar Goyal

Chapter 3. Early Fault PredictionÔ Using Software Metrics and Process Maturity

Abstract
Development of reliable software is challenging as system engineers have to deal with a large number of conflicting requirements such as cost, time, reliability, safety, maintainability, and many more. These days, most of the software development tasks are performed in labor-intensive way. This may introduce various faults across the development, causing failures in the near future. The impact of these failures ranges from marginal to catastrophic consequences. Therefore, there is a growing need to ensure the reliability of these software systems as early as possible. A model for early prediction of software fault is presented in this chapter.
Ajeet Kumar Pandey, Neeraj Kumar Goyal

Chapter 4. Multistage Model for Residual Fault Prediction

Abstract
Software reliability is defined as the probability of failure-free software operation for a specified period of time in a specified environment and is widely recognized as one of the most significant attributes of software quality (Lyu 1996). Over past decades, many software reliability growth models (SRGMs) have been presented to estimate important reliability measures such as the mean time to failure, the number of remaining faults, defect levels, and the failure intensity. Software reliability can be viewed form the two view points—user’s view and developer’s view. From a user’s point of view, software reliability can be defined as the probability of a software system or component to perform its intended function under the specified operating conditions over the specified period of time. From developer’s point of view, the reliability of the system can be measured as the number of residual faults that are likely to be found during testing or operational usage. This study aims to assure software reliability from developer’s point of view.
Ajeet Kumar Pandey, Neeraj Kumar Goyal

Chapter 5. Prediction and Ranking of Fault-Prone Software Modules

Abstract
Large and complex software systems are developed by integrating various independent modules. It is important to ensure quality of these modules through independent testing where modules are tested and faults are removed as soon as failures are experienced. System failures due to the software failure are common and result in undesirable consequences. Moreover, it is difficult to produce fault-free software due to problem complexity, complexity of human behavior, and the resource constrains. This chapter presents a noval approach for prediction and ranking of the software module using classification and fuzzy ordering algoritms.
Ajeet Kumar Pandey, Neeraj Kumar Goyal

Chapter 6. Reliability Centric Test Case Prioritization

Abstract
Software systems require various changes, throughout their lifetime, based on its faults, changes of user requirements, changes of environments, and so forth. It is very important to ensure that these changes are incorporated properly without any adverse effect on the quality and reliability of the software. In general, changing the software to correct faults or add new functionality can cause existing functionality to depart, introducing new faults. Therefore, software is regularly retested after subsequent changes, in the form of regression testing. This chapter presents a reliability centric test case prioritization approach to detect software faults early during regression testing.
Ajeet Kumar Pandey, Neeraj Kumar Goyal

Chapter 7. Software Reliability and Operational Profile

Abstract
Software testing (both development and regression) is costly and therefore must be conducted in a planned and systematic way to optimize overall testing objectives. One of the key objectives is to assure the reliability of software system that needs an extensive testing. To plan and guide software testing, the very first requirement is to find the number of tests (size) and thereafter allocationg the tests to various functions/modules. This chapter presents a model based approach to plan, guide, and allocate test cases to achieve more reliable system.
Ajeet Kumar Pandey, Neeraj Kumar Goyal

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise