0% found this document useful (0 votes)
151 views2 pages

Software Defects - II Defect Repair Rates - (1-2) : Lecture # 3

This document discusses software defect prevention. It describes how defect repair rates are impacted by factors like complexity, experience, and coding practices. It also defines defect seeding, severity levels, and the importance of defect tracking. The document outlines approaches to preventing defects, including education and training, formal methods, formal specification, formal verification, and other techniques. It emphasizes that the goal of defect prevention is to eliminate error sources from requirements, design, code, and other work products.

Uploaded by

Alina Pari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
151 views2 pages

Software Defects - II Defect Repair Rates - (1-2) : Lecture # 3

This document discusses software defect prevention. It describes how defect repair rates are impacted by factors like complexity, experience, and coding practices. It also defines defect seeding, severity levels, and the importance of defect tracking. The document outlines approaches to preventing defects, including education and training, formal methods, formal specification, formal verification, and other techniques. It emphasizes that the goal of defect prevention is to eliminate error sources from requirements, design, code, and other work products.

Uploaded by

Alina Pari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Software Defects – II Lecture # 3

Defect Repair Rates – (1-2)


 Reported data on defect repair rates is not consistent
 Defect repair rates usually decline as cyclomatic and essential complexity increases
 Defect repair rates increase with experience in application, language, inspections, structured design and
coding methods
 Defect repair rates are higher for maintenance specialists than others during maintenance phase
 For coding errors, they correlate with comment density. IBM’s study concluded that 18% comment
density is ideal
 It also found, flow charts had no impact, but good error messages had great impact

Defect Seeding
 Willful insertion of errors into a software deliverable prior to a review, inspection, or testing activity
 It is the quickest way of determining defect removal efficiency
 Considered unpleasant by many

Defect Severity Levels


 Most software defect tracking systems include a multi-tier “severity level” scale. For example,
 Severity level 1: total failure of application  Severity level 2: failure of major function(s)
 Severity level 3: minor problem  Severity level 4: cosmetic problem

Defect Tracking
 It is important to use an accurate and automated defect tracking system
 Defect tracking tools
 Tracking defects by severity level and by origin  Routing defects to appropriate repair facility
 Keeping records of duplicate defects  Invalid defects
 Repair information against defects

Defect Prevention
 We do not want defects or faults to enter our work products, requirements, design, code, or other
documents
 We try to eliminate the error sources in defect prevention
 Defect prevention is very difficult to understand, study, and quantify

Philosophy of Defect Prevention – (1-2)


 If human misconceptions are the error sources, education and training can help us remove these error
sources
 If imprecise designs and implementations that deviate from product specifications or design intentions
are the causes for faults, formal methods can help us prevent such deviations
 If non-conformance to selected processes or standards is the problem that leads to fault injections, then
process conformance or standard enforcement can help use prevent the injection of related faults
 If certain tools or technologies can reduce fault injections under similar environments, they should be
adopted

Education and Training – (1-2)


 Education and training provide people-based solutions for error source elimination
 The people factor is the most important factor that determines the quality and, ultimately, the success or
failure of most software projects
 Education and training of software professionals can help them control, manage, and improve the way
they work
Focus of Education & Training
 Product and domain specific knowledge
 Software development knowledge and expertise
 Knowledge about Development methodology, technology, and tools
 Development process knowledge

Product and Domain Specific Knowledge


 If the people involved are not familiar with the product type or application domain, there is a good
chance that wrong solutions will be implemented

Software Development Knowledge and Expertise


 Have good discussion on this
Knowledge about Development Methodology, Technology, and Tools
 Have good discussion on this
Development Process Knowledge
 Have good discussion on this

Formal Methods
 Formal methods provide a way to eliminate certain error sources and to verify the absence of related
faults
 Formal methods include  Formal specification  Formal verification

Formal Specification
 Formal specification is concerned with producing an unambiguous set of product specifications so that
customer requirements, as well as environmental constraints and design intentions, are correctly
reflected, thus reducing the chances of accidental fault injections

Formal Verifications
 Formal verification checks the conformance of software design or code against these formal
specifications, thus ensuring that the software is fault free with respect to its formal specifications

Other Defect Prevention Approaches


 Formal requirements analysis, i.e., JAD
 Formal risk-analysis early in the development
 Prototyping
 Structured programming methods
 Certified reusable design and code components

Software Defect Prevention

Summary
 In today’s lecture, we talked about defect prevention and defect prevention techniques
 We discussed the approaches to eliminating these defects

References
 Software Quality: Analysis and Guidelines for Success by Capers Jones
 Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement by Jeff Tian

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy