SlideShare a Scribd company logo
1
Software Defects - I
Lecture # 2
2
Today’s Lecture
■ Software defects and related issues
■ Have a good discussion on this topic
before jumping directly on to the topic
3
What is a Software Defect?
■ A software defect is an error, flaw, mistake,
failure, or fault in software that prevents it
from behaving as intended (e.g.,
producing an incorrect or unexpected
result)
■ Software defects are also known as
software errors or software bugs
4
Effects of Software Defects - 1
■ Bugs can have a wide variety of effects,
with varying levels of inconvenience to the
user of the software. Some bugs have only
a subtle effect on the program’s
functionality, and may thus lie undetected
for a long time. More serious bugs may
cause the software to crash or freeze
leading to a denial of service
5
Effects of Software Defects - 2
■ Others qualify as security bugs and might
for example enable a malicious user to
bypass access controls in order to obtain
unauthorized privileges
6
Effects of Software Defects - 3
■ The results of bugs may be extremely
serious
■ In 1996, the European Space Agency’s US
$1 billion prototype Arian 5 rocket was
destroyed less than a minute after launch,
due to a bug in the on-board guidance
computer program
7
Effects of Software Defects - 4
■ In June 1994, a Royal Air Force Chinook
crashed into the Mull of Kintyre, killing 29
people. An investigation uncovered
sufficient evidence to convince that it may
have been caused by a software bug in
the aircraft’s engine control computer
8
Effects of Software Defects - 5
■ In 2002, a study commissioned by the US
Department of Commerce’ National
Institute of Standards and Technology
concluded that software bugs are so
prevalent and detrimental that they cost
the US economy and estimated US $59
billion annually, or about 0.6 percent of the
gross domestic product
9
Software Defects in Six
Application Size Ranges
■ 1 function point or 125 C statements
■ 10 function points or 1,250 C statements
■ 100 function points or 12,500 C statements
■ 1,000 function points or 125,000 C
statements
■ 10,000 function points or 1,250,000 C
statements
■ 100,000 function points or 12,500,000 C
statements
10
Categories of Software Defects
■ Errors of commission
■ Errors of omission
■ Errors of clarity and ambiguity
■ Errors of speed or capacity
11
Errors of Commission
■ Something wrong is done
■ A classic example at the code level would
be going through a loop one time too
many or branching on the wrong address
12
Errors of Omission
■ Something left out by accident
■ For example, omitting a parentheses in
nested expressions
13
Errors of Clarity and Ambiguity
■ Different interpretations of the same
statement
■ This kind of error is common with all
natural language requirements and
specification documents and user
manuals, too.
14
Errors of Speed and Capacity
■ Application works, but not fast enough
15
■ Software defects can be found in any of the
documents and work products including very
serious ones in cost estimates and development
plans
■ However, there are seven major classes of
software work products where defects have a
strong probability of triggering some kind of
request for warranty repair if they reach the field
16
Software Defect Origins
■ Errors in Requirements
■ Errors in Design
■ Errors in Source code
■ Errors in User Documentation
■ Errors due to “Bad fixes”
■ Errors in Data and Tables
■ Errors in Test Cases
17
■ We’ll discuss all of them in detail, when we
talk about different processes of software
development life cycle
18
Defect Discovery
■ Defects are discovered by developers &
testers (usually) before release
■ Defects are discovered by customers and
users (usually) after release
■ Defects discovered after release can be
embarrassing for the development team
19
Defect Discovery by Customers
■ Rule 1: Defect discovery is directly related
to the number of users
■ Rule 2: Defect discovery is inversely
related to the number of defects
20
Software Defect Elimination
Strategies
■ Effective defect prevention
■ High levels of defect removal efficiency
■ Accurate defect prediction before the
project begins
■ Accurate defect tracking during
development
■ Useful quality measurements
■ Ensuring high levels of user-satisfaction
21
Defect Prevention and Removal
■ Both defect prevention and removal
techniques are used by the
“best-in-the-class” companies
■ Defect prevention is very difficult to
understand, study, and quantify. We’ll talk
about defect prevent in a later lecture
■ Both non-test and testing defect removal
techniques must be applied
22
Typical Defect Removal
■ Inspections
◻ Direct fault detection and removal
■ Testing
◻ Failure observation and fault removal
23
Inspections - 1
■ Inspections are critical examinations of
software artifacts by human inspectors
aimed at discovering and fixing faults in
the software systems
24
Inspections - 2
■ Inspections are critical reading and
analysis of software code or other
software artifacts, such as designs,
product specifications, test plans, etc
■ Inspections are typically conducted by
multiple human inspectors, through some
coordination process. Multiple inspection
phases or sessions may be used
25
Inspections - 3
■ Faults are detected directly in inspection
by human inspectors, either during their
individual inspections or various types of
group sessions
■ Identified faults need to be removed as a
result of the inspection process, and their
removal also needs to be verified
26
Inspections - 4
■ The inspection processes vary, but typically
include some planning and follow-up activities in
addition to the core inspection activity
■ The formality and structure of inspections may
vary, from very informal reviews and
walkthroughs, to fairly formal variations of Fagan
inspection, to correctness inspections
approaching the rigor and formality of formal
methods
Fagan Inspection
■ Fagan Inspection is a method to find defects.
■ It is a structured process that involves detecting defects in
development documents like programming code, specifications,
designs etc., during the various phases of software development
process.
■ The term Fagan is named after Michael Fagan, who incorporated
various software formal software inspection methods.
■ In Fagan inspection method, a given activity has a predefined
entry and exit criteria.
■ So for every activity which has an entry and exit criteria, the Fagan
inspection process offers a way to validate whether the output
complies with the exit criteria intended for that activity.
27
28
Non-Test Defect Removal
Methods
■ Requirement inspections
■ Design inspections
■ Code inspections
■ Test plan reviews
■ Test-case inspections
■ User documentation editing or reviews
29
Testing Defect Removal
Methods
■ Unit test by individual programmers
■ New function testing
■ Regression testing
■ Performance testing
■ Integration testing
■ System testing
■ Field test (external beta test)
30
Defect Removal
■ Not all defects are equal when it comes to
removal
■ Requirements errors, design problems,
and “bad fixes” are particularly difficult
31
Software Defect Origins &
Defect Removal Effectiveness
32
Defect Removal Efficiency
■ Accumulation of defect statistics for errors
found prior to delivery, and then for a
predetermined period after deployment
(usually one year)
■ US averages: 85%
■ Best projects in best US companies: 99%
33
Summary
■ In today’s lecture, we talked about
software defects and where are they
introduced in the software product
■ We discussed the approaches to
eliminating these defects
34
References
■ Software Quality: Analysis and Guidelines
for Success by Capers Jones
■ Software Quality Engineering: Testing,
Quality Assurance, and Quantifiable
Improvement by Jeff Tian

More Related Content

PPTX
Virus and its CounterMeasures -- Pruthvi Monarch
PPT
Slides chapters 13-14
PPTX
Presentation on computer software-system software.
PPTX
Software testing life cycle
PPTX
Software testing ppt
PPT
debugging (1).ppt
PDF
Introduction to Embedded Systems
PDF
Types of Software Testing | Edureka
Virus and its CounterMeasures -- Pruthvi Monarch
Slides chapters 13-14
Presentation on computer software-system software.
Software testing life cycle
Software testing ppt
debugging (1).ppt
Introduction to Embedded Systems
Types of Software Testing | Edureka

What's hot (20)

PPT
Software quality assurance lecture 1
PPTX
Introduce Game Testing And QA
PPTX
Software quality assurance
PPTX
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
PPT
software characteristics
PPTX
Software testing
PPTX
Introduction to Android and Android Studio
PDF
Artificial Intelligence for Automated Software Testing
PPTX
Software Testing Strategies ,Validation Testing and System Testing.
PPT
Software Engineering (Software Process: A Generic View)
PPTX
Programming Fundamentals lecture 1
PDF
Linux Internals - Part II
PPTX
Summer Training Project On C++
PPTX
PPT
The Software Development Process
PPTX
Introduction to Android ppt
PPT
Multicore computers
PPT
Software Testing Fundamentals
PPT
SonarQube Overview
Software quality assurance lecture 1
Introduce Game Testing And QA
Software quality assurance
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
software characteristics
Software testing
Introduction to Android and Android Studio
Artificial Intelligence for Automated Software Testing
Software Testing Strategies ,Validation Testing and System Testing.
Software Engineering (Software Process: A Generic View)
Programming Fundamentals lecture 1
Linux Internals - Part II
Summer Training Project On C++
The Software Development Process
Introduction to Android ppt
Multicore computers
Software Testing Fundamentals
SonarQube Overview
Ad

Similar to Software Defects.pdf (20)

PPT
lecture02.ppt
PPTX
Softwere Testing Aplication Specific Techniques
PDF
Manual+Testing-session1 software engineering
PDF
Digital Marketing with AI tools and enhance your digital skills.
PDF
Digital Marketing with AI tools and enhance your digital skills.
PDF
ISTQB Chapter 1 Fundamentals of Testing
PDF
Quality Laggards.pdf
PPTX
Testing Plan
PDF
software testing and quality assurance .pdf
PDF
SE_Unit 5_DE & Testing.pdf computer networks technology
PPTX
software engineering introduction is a gateway of engineer
PDF
Software validation do's and dont's may 2013
PDF
Fundamentals_of_testing.pdf
PDF
Fundamentals of software testing
PPT
Software testing and software development process
PPT
Sech1920 1200112979886874-3
PPTX
Software quality assurance
PPTX
IT Quality Testing and the Defect Management Process
PDF
Softwarequalityassurance with Abu ul hassan Sahadvi
PPTX
Week1.pptx
lecture02.ppt
Softwere Testing Aplication Specific Techniques
Manual+Testing-session1 software engineering
Digital Marketing with AI tools and enhance your digital skills.
Digital Marketing with AI tools and enhance your digital skills.
ISTQB Chapter 1 Fundamentals of Testing
Quality Laggards.pdf
Testing Plan
software testing and quality assurance .pdf
SE_Unit 5_DE & Testing.pdf computer networks technology
software engineering introduction is a gateway of engineer
Software validation do's and dont's may 2013
Fundamentals_of_testing.pdf
Fundamentals of software testing
Software testing and software development process
Sech1920 1200112979886874-3
Software quality assurance
IT Quality Testing and the Defect Management Process
Softwarequalityassurance with Abu ul hassan Sahadvi
Week1.pptx
Ad

Recently uploaded (20)

PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
System and Network Administraation Chapter 3
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
ai tools demonstartion for schools and inter college
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Nekopoi APK 2025 free lastest update
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
System and Network Administraation Chapter 3
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
How to Migrate SBCGlobal Email to Yahoo Easily
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
ai tools demonstartion for schools and inter college
Wondershare Filmora 15 Crack With Activation Key [2025
Operating system designcfffgfgggggggvggggggggg
Nekopoi APK 2025 free lastest update
Which alternative to Crystal Reports is best for small or large businesses.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
How Creative Agencies Leverage Project Management Software.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Upgrade and Innovation Strategies for SAP ERP Customers
Softaken Excel to vCard Converter Software.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus

Software Defects.pdf

  • 1. 1 Software Defects - I Lecture # 2
  • 2. 2 Today’s Lecture ■ Software defects and related issues ■ Have a good discussion on this topic before jumping directly on to the topic
  • 3. 3 What is a Software Defect? ■ A software defect is an error, flaw, mistake, failure, or fault in software that prevents it from behaving as intended (e.g., producing an incorrect or unexpected result) ■ Software defects are also known as software errors or software bugs
  • 4. 4 Effects of Software Defects - 1 ■ Bugs can have a wide variety of effects, with varying levels of inconvenience to the user of the software. Some bugs have only a subtle effect on the program’s functionality, and may thus lie undetected for a long time. More serious bugs may cause the software to crash or freeze leading to a denial of service
  • 5. 5 Effects of Software Defects - 2 ■ Others qualify as security bugs and might for example enable a malicious user to bypass access controls in order to obtain unauthorized privileges
  • 6. 6 Effects of Software Defects - 3 ■ The results of bugs may be extremely serious ■ In 1996, the European Space Agency’s US $1 billion prototype Arian 5 rocket was destroyed less than a minute after launch, due to a bug in the on-board guidance computer program
  • 7. 7 Effects of Software Defects - 4 ■ In June 1994, a Royal Air Force Chinook crashed into the Mull of Kintyre, killing 29 people. An investigation uncovered sufficient evidence to convince that it may have been caused by a software bug in the aircraft’s engine control computer
  • 8. 8 Effects of Software Defects - 5 ■ In 2002, a study commissioned by the US Department of Commerce’ National Institute of Standards and Technology concluded that software bugs are so prevalent and detrimental that they cost the US economy and estimated US $59 billion annually, or about 0.6 percent of the gross domestic product
  • 9. 9 Software Defects in Six Application Size Ranges ■ 1 function point or 125 C statements ■ 10 function points or 1,250 C statements ■ 100 function points or 12,500 C statements ■ 1,000 function points or 125,000 C statements ■ 10,000 function points or 1,250,000 C statements ■ 100,000 function points or 12,500,000 C statements
  • 10. 10 Categories of Software Defects ■ Errors of commission ■ Errors of omission ■ Errors of clarity and ambiguity ■ Errors of speed or capacity
  • 11. 11 Errors of Commission ■ Something wrong is done ■ A classic example at the code level would be going through a loop one time too many or branching on the wrong address
  • 12. 12 Errors of Omission ■ Something left out by accident ■ For example, omitting a parentheses in nested expressions
  • 13. 13 Errors of Clarity and Ambiguity ■ Different interpretations of the same statement ■ This kind of error is common with all natural language requirements and specification documents and user manuals, too.
  • 14. 14 Errors of Speed and Capacity ■ Application works, but not fast enough
  • 15. 15 ■ Software defects can be found in any of the documents and work products including very serious ones in cost estimates and development plans ■ However, there are seven major classes of software work products where defects have a strong probability of triggering some kind of request for warranty repair if they reach the field
  • 16. 16 Software Defect Origins ■ Errors in Requirements ■ Errors in Design ■ Errors in Source code ■ Errors in User Documentation ■ Errors due to “Bad fixes” ■ Errors in Data and Tables ■ Errors in Test Cases
  • 17. 17 ■ We’ll discuss all of them in detail, when we talk about different processes of software development life cycle
  • 18. 18 Defect Discovery ■ Defects are discovered by developers & testers (usually) before release ■ Defects are discovered by customers and users (usually) after release ■ Defects discovered after release can be embarrassing for the development team
  • 19. 19 Defect Discovery by Customers ■ Rule 1: Defect discovery is directly related to the number of users ■ Rule 2: Defect discovery is inversely related to the number of defects
  • 20. 20 Software Defect Elimination Strategies ■ Effective defect prevention ■ High levels of defect removal efficiency ■ Accurate defect prediction before the project begins ■ Accurate defect tracking during development ■ Useful quality measurements ■ Ensuring high levels of user-satisfaction
  • 21. 21 Defect Prevention and Removal ■ Both defect prevention and removal techniques are used by the “best-in-the-class” companies ■ Defect prevention is very difficult to understand, study, and quantify. We’ll talk about defect prevent in a later lecture ■ Both non-test and testing defect removal techniques must be applied
  • 22. 22 Typical Defect Removal ■ Inspections ◻ Direct fault detection and removal ■ Testing ◻ Failure observation and fault removal
  • 23. 23 Inspections - 1 ■ Inspections are critical examinations of software artifacts by human inspectors aimed at discovering and fixing faults in the software systems
  • 24. 24 Inspections - 2 ■ Inspections are critical reading and analysis of software code or other software artifacts, such as designs, product specifications, test plans, etc ■ Inspections are typically conducted by multiple human inspectors, through some coordination process. Multiple inspection phases or sessions may be used
  • 25. 25 Inspections - 3 ■ Faults are detected directly in inspection by human inspectors, either during their individual inspections or various types of group sessions ■ Identified faults need to be removed as a result of the inspection process, and their removal also needs to be verified
  • 26. 26 Inspections - 4 ■ The inspection processes vary, but typically include some planning and follow-up activities in addition to the core inspection activity ■ The formality and structure of inspections may vary, from very informal reviews and walkthroughs, to fairly formal variations of Fagan inspection, to correctness inspections approaching the rigor and formality of formal methods
  • 27. Fagan Inspection ■ Fagan Inspection is a method to find defects. ■ It is a structured process that involves detecting defects in development documents like programming code, specifications, designs etc., during the various phases of software development process. ■ The term Fagan is named after Michael Fagan, who incorporated various software formal software inspection methods. ■ In Fagan inspection method, a given activity has a predefined entry and exit criteria. ■ So for every activity which has an entry and exit criteria, the Fagan inspection process offers a way to validate whether the output complies with the exit criteria intended for that activity. 27
  • 28. 28 Non-Test Defect Removal Methods ■ Requirement inspections ■ Design inspections ■ Code inspections ■ Test plan reviews ■ Test-case inspections ■ User documentation editing or reviews
  • 29. 29 Testing Defect Removal Methods ■ Unit test by individual programmers ■ New function testing ■ Regression testing ■ Performance testing ■ Integration testing ■ System testing ■ Field test (external beta test)
  • 30. 30 Defect Removal ■ Not all defects are equal when it comes to removal ■ Requirements errors, design problems, and “bad fixes” are particularly difficult
  • 31. 31 Software Defect Origins & Defect Removal Effectiveness
  • 32. 32 Defect Removal Efficiency ■ Accumulation of defect statistics for errors found prior to delivery, and then for a predetermined period after deployment (usually one year) ■ US averages: 85% ■ Best projects in best US companies: 99%
  • 33. 33 Summary ■ In today’s lecture, we talked about software defects and where are they introduced in the software product ■ We discussed the approaches to eliminating these defects
  • 34. 34 References ■ Software Quality: Analysis and Guidelines for Success by Capers Jones ■ Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement by Jeff Tian