The role of inspection in software quality assurance (original) (raw)
Related papers
State-of-the-art: software inspections after 25 years
Software Testing, Verification and Reliability, 2002
Software inspections, which were originally developed by Michael Fagan in 1976, are an important means to verify and achieve sufficient quality in many software projects today. Since Fagan's initial work, the importance of software inspections has been long recognized by software developers and many organizations. Various proposals have been made by researchers in the hope of improving Fagan's inspection. The proposals include structural changes to the process and several types of support for the inspection process. Most of the proposals have been empirically investigated in different studies. This is a review paper focusing on the software inspection process in the light of Fagan's inspection, and it summarizes and reviews other types of software inspection processes that have emerged in the last 25 years. The paper also addresses important issues related to the inspection process and examines experimental studies and their findings that are of interest with the purpose of identifying future avenues of research in software inspection.
Software Inspections We Can Trust
Lecture Notes in Computer Science, 2004
Software is devilishly hard to inspect. Serious errors can escape attention for years. Consequently, many are hesitant to employ software in safety-critical applications and developers and users are finding the correction of software errors to be an increasingly burdensome cost.
Software inspections-theory, new approaches and an experiment
Conference on Software Engineering and Advanced Applications, 1999
M. Pagan (1976) published his seminal paper on inspections of software development documents. He argued that one should not wait until testing, but suggested to perform formal inspections of all documents in the development process as soon as they became ready. Although it can be demonstrated that inspections offer a high return on investment they do not receive the wide-spread
A Review of Software Inspections
Advances in Computers, 1996
For two decades, software inspections have proven e ective for detecting defects in software. We have reviewed the di erent ways software inspections are done, created a taxonomy of inspection methods, and examined claims about the cost-e ectiveness of di erent methods. We detect a disturbing pattern in the evaluation of inspection methods. Although there is universal agreement on the e ectiveness of software inspection, their economics are uncertain. Our examination of several empirical studies leads us to conclude that the bene ts of inspections are often overstated and the costs (especially for large software developments) are understated. Furthermore, some of the most in uential studies establishing these costs and bene ts are 20 years old now, which leads us to question their relevance to today's software development processes. Extensive work is needed to determine exactly how, why, and when software inspections work, and whether some defect detection techniques might be more cost-e ective than others. In this article we ask some questions about measuring e ectiveness of software inspections and determining how much they really cost when their e ect on the rest of the development process is considered. Finding answers to these questions will enable us to improve the e ciency of software development.
A survey of software inspection technologies
2002
Software inspection is a proven method that enables the detection and removal of defects in software artifacts as soon as these artifacts are created. It usually involves activities in which a team of qualified personnel determines whether the created artifact is of sufficient quality. Detected quality deficiencies are subsequently corrected. In this way an inspection can not only contribute towards software quality improvement, but also lead to significant budget and time benefits. These advantages have already been demonstrated in many software development projects and organizations. After Fagan's seminal paper presented in 1976, the body of work in software inspection has greatly increased and matured. This survey is to provide an overview of the large body of contributions in the form of incremental improvements and/or new methodologies that have been proposed to leverage and amplify the benefits of inspections within software development and even maintenance projects. To structure this large volume of work, it introduces, as a first step, the core concepts and relationships that together embody the field of software inspection. In a second step, the survey discusses the inspection-related work in the context of the presented taxonomy. The survey is beneficial for researchers as well as practitioners. Researchers can use the presented survey taxonomy to evaluate existing work in this field and identify new research areas. Practitioners, on the other hand, get information on the reported benefits of inspections. Moreover, they find an explanation of the various methodological variations and get guidance on how to instantiate the various taxonomy dimensions for the purpose of tailoring and performing inspections in their software projects.
Experience in Software Inspection Techniques
IFIP Advances in Information and Communication Technology, 1995
It is geoerally accepted that every programmer checks his or her code before submitting it to testing. This process has beeo formalised by means of 'reviews', 'walkthroughs' and 'inspections'. Inspections were used in industry by the author, following Fagan, but were not well-metricated: others have shown that the quantifiable beoefits of inspections may be considerable. A final-year project at Staffordshire University has produced results for software inspection compared both to computer-based testing alone and to computer-based testing following inspection in which metrics were collected throughout the process, allowing comparisons of effectiveoess and efficieocy.
38 Experience in Software Inspection Techniques
It is geoerally accepted that every programmer checks his or her code before submitting it to testing. This process has beeo formalised by means of 'reviews', 'walkthroughs' and 'inspections'. Inspections were used in industry by the author, following Fagan, but were not well-metricated: others have shown that the quantifiable beoefits of inspections may be considerable. A final-year project at Staffordshire University has produced results for software inspection compared both to computer-based testing alone and to computer-based testing following inspection in which metrics were collected throughout the process, allowing comparisons of effectiveoess and efficieocy.
Improving the Software Inspection Process
Lecture Notes in Computer Science, 2005
In this paper we look at the results from three experiments. We discuss the results and combine them into advices for code inspection. The main observations are that 1) it is beneficial to use large inspection groups in order to have access to a large amount of diverse experience and knowledge, 2) hands-on experience is more important than general knowledge and experience and 3) if left on their own, large groups tend to use a voting-like mechanism when deciding which defects to report after the group meeting.
Introducing the Next Generation of Software Inspection Tools
The area of tool support for software inspection has been under active research since the early 1990’s. Although numerous implementations exist and development is still taking place, no tool has achieved a break-through. The main reason is that one tool usually demonstrates only one new idea, neglecting other features. A different approach must be taken, and software inspection tools should be seen as integral parts of the development environment. This paper categorises the existing tools into four generations based on the transition from traditional meeting support to asynchronous distributed inspections implemented with web technologies. Based on the analysis of 16 tools and our experiences, we summarize the most important features and add two new aspects to be notified when implementing the next generation of inspection tools for use in modern software development, flexibility and integration. The major focus is on comprehension, and we have taken the first steps at achieving this.