尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
Taxonomy for Bugs
Harika
Assistant Professor
Taxonomy for Bugs
 Bugs:---
 Requirements, features and functionality
Bugs
 Structural Bugs
 Data Bugs
 Coding Bugs
 Interface, integration and system Bugs
 Test and Test Design Bugs
Requirements, Features,
Functionality Bugs
 3 types of bugs :
 Requirement & Specifications,Requirement & Specifications,
 Feature bugs, &Feature bugs, &
 feature interaction bugsfeature interaction bugs
1. Requirements & Specification Bugs.
– Incompleteness, ambiguous or self-contradictory.
– Analyst’s assumptions not known to the designer.
– Some thing may miss when specs change.
– These are expensive: introduced early in SDLC and
removed at the last.
2.Feature Bugs
– Specification problems create feature bugs
– Wrong feature bug has design implications
– Missing feature is easy to detect & correct
– Unnecessary enhancements can accumulate
bugs, if they increase complexity
– When the features are eliminated, the following
consequences arise
– s/w becomes sophisticated
– Consume more resources
– Additional bugs are stimulated
III. Feature Interaction Bugs
– Arise due to unpredictable interactions between feature groups or
individual features.
– The earlier removed the better as these are costly if detected at the
end.
– Examples: call forwarding & call waiting.
Remedies:
Use high level formal specification languages to eliminate
human-to-human communication
It’s only a short term support & not a long term solution.
Short-term Support:
Specification languages formalize requirements & so
automatic test generation is possible. It’s cost-effective.
Long-term support:
Even with a great specification language, problem is not
eliminated, but is shifted to a higher level. Simple
ambiguities & contradictions may only be removed,
leaving tougher bugs.
Testing Techniques for functional bugs:
Functional test techniques - transactiontransaction
flow testing, syntax testing, domainflow testing, syntax testing, domain
testing, logic testing, and state testingtesting, logic testing, and state testing -
can eliminate requirements & specifications
bugs.
2.Structural Bugs
 we look at the 5 types, their causes and
remedies.
 Control & Sequence bugs
 Logic Bugs
 Processing bugs
 Initialization bugs
 Data flow bugs & anomalies
Control & Sequence Bugs:
 Paths left out, unreachable code, spaghetti code,
and pachinko code.
 Improper nesting of loops, Incorrect loop-
termination or look-back, ill-conceived switches.
 Missing process steps, duplicated or unnecessary
processing, rampaging GOTOs.
 Old code (assembly language(ALP) & Cobol)
 Most of the control flow bugs are easily tested and
caught in unit testing.
 Prevention and Control:
 Theoretical treatment and,
 Unit, structural, path, & functional testingUnit, structural, path, & functional testing.
Logic Bugs
 Misunderstanding of the semantics of the control structures & logic
operators
 Improper layout of cases, including impossible & ignoring necessary
cases,
 Using a look-alike operator, improper simplification, confusing Ex-OR
with inclusive OR.
 Deeply nested conditional statements & using many logical operations
in 1 stmt.
 Prevention and Control:
 Logic testing, careful checks, functional testing
Processing Bugs
 Arithmetic, algebraic, mathematical function
evaluation, algorithm selection & general.
processing, data type conversion, ignoring
overflow, improper use of relational
operators.
 Prevention
 Caught in Unit TestingUnit Testing
 Domain testingDomain testing methods
Initialization Bugs
 Forgetting to initialize work space, registers, or data
areas.
 Wrong initial value of a loop control parameter.
 Accepting a parameter without a validation check.
 Initialize to wrong data type or format.
 Remedies (prevention & correction)(prevention & correction)
 Programming tools, Explicit declaration & type checking in
source language, preprocessors.
 Data flow test methods help design of tests and debugging.
Dataflow Bugs & Anomalies
 Run into an un-initialized variable.
 Not storing modified data.
 Re-initialization without an intermediate use.
 Detected mainly by execution (testing).
 Remedies (prevention & correction)(prevention & correction)
 Data flow testing methods & matrix based testing
methods.
Data BugsData Bugs
Depend on the types of data or the representation of data. There are
4 sub categories.
1. Generic Data Bugs
2. Dynamic Data Vs Static Data
3. Information, Parameter, and Control Bugs
4. Contents, Structure & Attributes related Bugs
Generic Data Bugs
– Due to data object specs., formats, # of objects & their initial
values.
– Common as much as in code, especially as the code migrates to
data.
– Data bug introduces an operative statement bug & is harder to find.
– Generalized components with reusability – when customized
from a large parametric data to specific installation.
Remedies (prevention & correction)(prevention & correction):
Using control tables in lieu of code facilitates software to handle many
transaction types with fewer data bugs. Control tables have a
hidden programming language in the database.
Caution - there’s no compiler for the hidden control language in data
tables
Dynamic Data Vs Static Data
Dynamic Data BugsDynamic Data Bugs Static Data BugsStatic Data Bugs
Transitory. Difficult to catch. Fixed in form & content.
Due to an error in a shared storage object
initialization.
Appear in source code or data base, directly or
indirectly
Due to unclean / leftover garbage in a shared
resource.
Software to produce object code creates a static
data table – bugs possible
Examples Examples
Generic & shared variable Telecom system software: generic parameters, a
generic large program & site adapter program to
set parameter values, build data declarations etc.
Shared data structure Postprocessor : to install software packages.
Data is initialized at run time – with configuration
handled by tables.
Prevention
Data validation, unit testing
Prevention
Compile time processing
Source language features
Information, Parameter, and Control Bugs
– Static or dynamic data can serve in any of the three forms. It is a matter
of perspective.
– What is information can be a data parameter or control data else where
in a program.
– Examples: name, hash code, function using these.
– A variable in different contexts.
– Information:Information: dynamic, local to a single transaction or task.
– ParameterParameter: parameters passed to a call.
– ControlControl: data used in a control structure for a decision.
Preventive MeasuresPreventive Measures (prevention & correction)(prevention & correction)
Proper Data validation code
Contents, Structure & Attributes related Bugs
 ContentsContents: are pure bit pattern & bugs are due to misinterpretation or
corruption of it.
 StructureStructure: Size, shape & alignment of data object in memory. A structure may
have substructures.
 AttributesAttributes: Semantics associated with the contents (e.g. integer, string,
subroutine).
 BugsBugs
 Severity & subtlety increases from contents to attributes as they get less
formal.
 Structural bugs may be due to wrong declaration or when same contents are
interpreted by multiple structures differently (different mapping).
 Attribute bugs are due to misinterpretation of data type, probably at an
interface
 Preventive MeasuresPreventive Measures (prevention & correction)(prevention & correction)
 Good source lang. documentation & coding style (incl. datadata
dictionarydictionary).
 Data structures be globally administered. Local data migrates to
global.
 Strongly typed languages prevent mixed manipulation of data.
 In an assembly lang. program, use field-access macros & not
directly accessing any field.
 Coding BugsCoding Bugs
 Coding errors create other kinds of bugs.
 Syntax errors are removed when compiler checks syntax.
 Coding errors
 typographical, misunderstanding of operators or statements or
could be just arbitrary.
 Documentation Bugs
 Erroneous comments could lead to incorrect maintenance.
 Testing techniques cannot eliminate documentation bugs.
 Solution:

 Inspections, QA, automated data dictionaries & specification
systems.
 Interface, Integration and Systems BugsInterface, Integration and Systems Bugs
 There are 9 types of bugs of this type.
1.1. External InterfacesExternal Interfaces
2.2. Internal InterfacesInternal Interfaces
3.3. Hardware Architecture BugsHardware Architecture Bugs
4.4. Operating System BugsOperating System Bugs
5.5. Software architecture bugsSoftware architecture bugs
6.6. Control & Sequence bugsControl & Sequence bugs
7.7. Resource management bugsResource management bugs
8.8. Integration bugsIntegration bugs
9.9. System bugsSystem bugs
1.1. External InterfacesExternal Interfaces
 Means to communicate with the world: drivers, sensors, input terminals,
communication lines.
 Primary design criterion should be - robustness.
 Bugs: invalid timing, sequence assumptions related to external signals,
misunderstanding external formats and no robust coding.
 Domain testing, syntax testing & state testing are suited to testing external
interfaces.
2.2. Internal InterfacesInternal Interfaces
 Must adapt to the external interface.
 Have bugs similar to external interface
 Bugs from improper
 Protocol design, input-output formats, protection against corrupted data,
subroutine call sequence, call-parameters.
 Remedies (prevention & correction)Remedies (prevention & correction):
 Test methods of domain testing & syntax testing.
 Good design & standards: good trade off between # of internal interfaces &
complexity of the interface.
 Good integration testing is to test all internal interfaces with external world.
 Hardware Architecture Bugs:Hardware Architecture Bugs:
 A s/w programmer may not see the h/w layer / architecture.
 S/w bugs originating from hardware architecture are due to
misunderstanding of how h/w works.
 Bugs are due to errors in:Bugs are due to errors in:
 Paging mechanism, address generation
 I/O device instructions, device status code, device protocol
 Expecting a device to respond too quickly, or to wait for too long
for response, assuming a device is initialized, interrupt
handling, I/O device address
 H/W simultaneity assumption, device data format error etc..
 Remedies (prevention & correction)Remedies (prevention & correction):
 Good software programming & Testing.
 Centralization of H/W interface software.
 Nowadays hardware has special test modes & test instructions
to test the H/W function.
 An elaborate H/W simulator may also be used.
 Operating System Bugs:Operating System Bugs:
 Due to:Due to:
 Misunderstanding of H/W architecture & interface by the O. S.
 Not handling of all H/W issues by the O. S.
 Bugs in O. S. itself and some corrections may leave quirks.
 Bugs & limitations in O. S. may be buried some where in the documentation.
 Remedies (prevention & correction)Remedies (prevention & correction):
 Same as those for H/W bugs.
 Use O. S. system interface specialists
 Use explicit interface modules or macros for all O.S. calls.
 The above may localize bugs and make testing simpler.
Software Architecture Bugs:Software Architecture Bugs: (called Interactive)
The subroutines pass thru unit and integration tests without detection of these
bugs. Depend on the Load, when the system is stressed. These are the
most difficult to find and correct.
Due to:Due to:
– Assumption that there are no interrupts, Or, Failure to block or unblock
an interrupt.
– Assumption that code is re-entrant or not re-entrant.
– Bypassing data interlocks, Or, Failure to open an interlock.
– Assumption that a called routine is memory resident or not.
– Assumption that the registers and the memory are initialized, Or, that
their content did not change.
– Local setting of global parameters & Global setting of local parameters.
RemediesRemedies:
Good design for software architecture.
Test TechniquesTest Techniques
All test techniques are useful in detecting these bugs, Stress tests in
Control & Sequence Bugs:Control & Sequence Bugs:
Due to:Due to:
– Ignored timing
– Assumption that events occur in a specified sequence.
– Starting a process before its prerequisites are met.
– Waiting for an impossible combination of prerequisites.
– Not recognizing when prerequisites are met.
– Specifying wrong priority, Program state or processing level.
– Missing, wrong, redundant, or superfluous process steps.
RemediesRemedies:
– Good design.
– highly structured sequence control - useful
– Specialized internal sequence-control mechanisms such as an internal job
control language – useful.
– Storage of Sequence steps & prerequisites in a table and interpretive
processing by control processor or dispatcher - easier to test & to correct
bugs.
Test TechniquesTest Techniques
Path testing as applied to Transaction Flow graphs is effective.
Resource Management Problems:Resource Management Problems:
Resources: Internal: Memory buffers, queue blocks etc. External: discs etc.
Due to:Due to:
– Wrong resource used (when several resources have similar structure or
different kinds of resources in the same pool).
– Resource already in use, or deadlock
– Resource not returned to the right pool, Failure to return a resource.
Resource use forbidden to the caller.
RemediesRemedies:
– Design: keeping resource structure simple with fewest kinds of resources,
fewest pools, and no private resource mgmt.
– Designing a complicated resource structure to handle all kinds of
transactions to save memory is not right.
– Centralize management of all resource pools thru managers, subroutines,
macros etc.
Test TechniquesTest Techniques
Path testing, transaction flow testing, data-flow testing & stress testing.

More Related Content

What's hot

Single pass assembler
Single pass assemblerSingle pass assembler
Single pass assembler
Bansari Shah
 
Token, Pattern and Lexeme
Token, Pattern and LexemeToken, Pattern and Lexeme
Token, Pattern and Lexeme
A. S. M. Shafi
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
Vinod Kumar Meghwar
 
Symbol table in compiler Design
Symbol table in compiler DesignSymbol table in compiler Design
Symbol table in compiler Design
Kuppusamy P
 
Multi Head, Multi Tape Turing Machine
Multi Head, Multi Tape Turing MachineMulti Head, Multi Tape Turing Machine
Multi Head, Multi Tape Turing Machine
Radhakrishnan Chinnusamy
 
Task communication
Task communicationTask communication
Task communication
1jayanti
 
Stm unit1
Stm unit1Stm unit1
Stm unit1
Chaitanya Kn
 
Relationship Among Token, Lexeme & Pattern
Relationship Among Token, Lexeme & PatternRelationship Among Token, Lexeme & Pattern
Relationship Among Token, Lexeme & Pattern
Bharat Rathore
 
Single Pass Assembler
Single Pass AssemblerSingle Pass Assembler
Single Pass Assembler
Satyamevjayte Haxor
 
If then rule in fuzzy logic and fuzzy implications
If then rule  in fuzzy logic and fuzzy implicationsIf then rule  in fuzzy logic and fuzzy implications
If then rule in fuzzy logic and fuzzy implications
Siksha 'O' Anusandhan (Deemed to be University )
 
Chapter 4 Embedded System: Application and Domain Specific
Chapter 4 Embedded System: Application and Domain SpecificChapter 4 Embedded System: Application and Domain Specific
Chapter 4 Embedded System: Application and Domain Specific
Moe Moe Myint
 
Control Strategies in AI
Control Strategies in AIControl Strategies in AI
Control Strategies in AI
Amey Kerkar
 
Real Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systemsReal Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systems
Hariharan Ganesan
 
Syntax-Directed Translation into Three Address Code
Syntax-Directed Translation into Three Address CodeSyntax-Directed Translation into Three Address Code
Syntax-Directed Translation into Three Address Code
sanchi29
 
States, state graphs and transition testing
States, state graphs and transition testingStates, state graphs and transition testing
States, state graphs and transition testing
geethawilliam
 
Learning rule of first order rules
Learning rule of first order rulesLearning rule of first order rules
Learning rule of first order rules
swapnac12
 
unit 1 ppt.pptx
unit 1 ppt.pptxunit 1 ppt.pptx
unit 1 ppt.pptx
SadikshyaTimilsina1
 
Interface specification
Interface specificationInterface specification
Interface specification
maliksiddique1
 
Analytical learning
Analytical learningAnalytical learning
Analytical learning
swapnac12
 
Crop prediction using machine learning
Crop prediction using machine learningCrop prediction using machine learning
Crop prediction using machine learning
dataalcott
 

What's hot (20)

Single pass assembler
Single pass assemblerSingle pass assembler
Single pass assembler
 
Token, Pattern and Lexeme
Token, Pattern and LexemeToken, Pattern and Lexeme
Token, Pattern and Lexeme
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
Symbol table in compiler Design
Symbol table in compiler DesignSymbol table in compiler Design
Symbol table in compiler Design
 
Multi Head, Multi Tape Turing Machine
Multi Head, Multi Tape Turing MachineMulti Head, Multi Tape Turing Machine
Multi Head, Multi Tape Turing Machine
 
Task communication
Task communicationTask communication
Task communication
 
Stm unit1
Stm unit1Stm unit1
Stm unit1
 
Relationship Among Token, Lexeme & Pattern
Relationship Among Token, Lexeme & PatternRelationship Among Token, Lexeme & Pattern
Relationship Among Token, Lexeme & Pattern
 
Single Pass Assembler
Single Pass AssemblerSingle Pass Assembler
Single Pass Assembler
 
If then rule in fuzzy logic and fuzzy implications
If then rule  in fuzzy logic and fuzzy implicationsIf then rule  in fuzzy logic and fuzzy implications
If then rule in fuzzy logic and fuzzy implications
 
Chapter 4 Embedded System: Application and Domain Specific
Chapter 4 Embedded System: Application and Domain SpecificChapter 4 Embedded System: Application and Domain Specific
Chapter 4 Embedded System: Application and Domain Specific
 
Control Strategies in AI
Control Strategies in AIControl Strategies in AI
Control Strategies in AI
 
Real Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systemsReal Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systems
 
Syntax-Directed Translation into Three Address Code
Syntax-Directed Translation into Three Address CodeSyntax-Directed Translation into Three Address Code
Syntax-Directed Translation into Three Address Code
 
States, state graphs and transition testing
States, state graphs and transition testingStates, state graphs and transition testing
States, state graphs and transition testing
 
Learning rule of first order rules
Learning rule of first order rulesLearning rule of first order rules
Learning rule of first order rules
 
unit 1 ppt.pptx
unit 1 ppt.pptxunit 1 ppt.pptx
unit 1 ppt.pptx
 
Interface specification
Interface specificationInterface specification
Interface specification
 
Analytical learning
Analytical learningAnalytical learning
Analytical learning
 
Crop prediction using machine learning
Crop prediction using machine learningCrop prediction using machine learning
Crop prediction using machine learning
 

Similar to Taxonomy for bugs

unit 1 various software testing description
unit 1 various software testing descriptionunit 1 various software testing description
unit 1 various software testing description
SathyaP56
 
Software Testing overview jay prakash maurya.pptx
Software Testing overview jay prakash maurya.pptxSoftware Testing overview jay prakash maurya.pptx
Software Testing overview jay prakash maurya.pptx
JayPrakash779563
 
Software_Testing_Overview.pptx
Software_Testing_Overview.pptxSoftware_Testing_Overview.pptx
Software_Testing_Overview.pptx
JayPrakash255
 
Testingfor Sw Security
Testingfor Sw SecurityTestingfor Sw Security
Testingfor Sw Security
ankitmehta21
 
Software Risk Analysis
Software Risk AnalysisSoftware Risk Analysis
Software Risk Analysis
Brett Leonard
 
testing
testingtesting
testing
Rashmi Deoli
 
4. The Software Development Process - Testing
4. The Software Development Process - Testing4. The Software Development Process - Testing
4. The Software Development Process - Testing
Forrester High School
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Poonkodi Jayakumar
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
Bipul Roy Bpl
 
Security Misconfiguration.pptx
Security Misconfiguration.pptxSecurity Misconfiguration.pptx
Security Misconfiguration.pptx
Kalyani Raut
 
Differences asked in Software Testing Interview.
Differences asked in Software Testing Interview. Differences asked in Software Testing Interview.
Differences asked in Software Testing Interview.
Siddharth Sharma
 
Webinar on Functional Safety Analysis using Model-based System Analysis
Webinar on Functional Safety Analysis using Model-based System AnalysisWebinar on Functional Safety Analysis using Model-based System Analysis
Webinar on Functional Safety Analysis using Model-based System Analysis
Deepak Shankar
 
Chapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.pptChapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.ppt
GentaSahuri2
 
Building functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalBuilding functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortal
Dmitriy Gumeniuk
 
Unit 1 defects classes
Unit 1 defects classesUnit 1 defects classes
Unit 1 defects classes
Roselin Mary S
 
Static analysis by tools
Static analysis by toolsStatic analysis by tools
Static analysis by tools
winy setya ningrum
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
Deepak Singhvi
 
Software Testing
Software Testing Software Testing
Software Testing
Vignesh Suresh
 
System testing
System testingSystem testing
System testing
Sifat Hossain
 
Debbuging
DebbugingDebbuging
Debbuging
Iama Marsian
 

Similar to Taxonomy for bugs (20)

unit 1 various software testing description
unit 1 various software testing descriptionunit 1 various software testing description
unit 1 various software testing description
 
Software Testing overview jay prakash maurya.pptx
Software Testing overview jay prakash maurya.pptxSoftware Testing overview jay prakash maurya.pptx
Software Testing overview jay prakash maurya.pptx
 
Software_Testing_Overview.pptx
Software_Testing_Overview.pptxSoftware_Testing_Overview.pptx
Software_Testing_Overview.pptx
 
Testingfor Sw Security
Testingfor Sw SecurityTestingfor Sw Security
Testingfor Sw Security
 
Software Risk Analysis
Software Risk AnalysisSoftware Risk Analysis
Software Risk Analysis
 
testing
testingtesting
testing
 
4. The Software Development Process - Testing
4. The Software Development Process - Testing4. The Software Development Process - Testing
4. The Software Development Process - Testing
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
 
Security Misconfiguration.pptx
Security Misconfiguration.pptxSecurity Misconfiguration.pptx
Security Misconfiguration.pptx
 
Differences asked in Software Testing Interview.
Differences asked in Software Testing Interview. Differences asked in Software Testing Interview.
Differences asked in Software Testing Interview.
 
Webinar on Functional Safety Analysis using Model-based System Analysis
Webinar on Functional Safety Analysis using Model-based System AnalysisWebinar on Functional Safety Analysis using Model-based System Analysis
Webinar on Functional Safety Analysis using Model-based System Analysis
 
Chapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.pptChapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.ppt
 
Building functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalBuilding functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortal
 
Unit 1 defects classes
Unit 1 defects classesUnit 1 defects classes
Unit 1 defects classes
 
Static analysis by tools
Static analysis by toolsStatic analysis by tools
Static analysis by tools
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
 
Software Testing
Software Testing Software Testing
Software Testing
 
System testing
System testingSystem testing
System testing
 
Debbuging
DebbugingDebbuging
Debbuging
 

Recently uploaded

Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...
Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...
Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...
IJCNCJournal
 
Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...
Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...
Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...
shourabjaat424
 
Butterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdfButterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdf
Lubi Valves
 
Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine
 
paper relate Chozhavendhan et al. 2020.pdf
paper relate Chozhavendhan et al. 2020.pdfpaper relate Chozhavendhan et al. 2020.pdf
paper relate Chozhavendhan et al. 2020.pdf
ShurooqTaib
 
🔥Independent Call Girls In Pune 💯Call Us 🔝 7014168258 🔝💃Independent Pune Esco...
🔥Independent Call Girls In Pune 💯Call Us 🔝 7014168258 🔝💃Independent Pune Esco...🔥Independent Call Girls In Pune 💯Call Us 🔝 7014168258 🔝💃Independent Pune Esco...
🔥Independent Call Girls In Pune 💯Call Us 🔝 7014168258 🔝💃Independent Pune Esco...
AK47
 
Cuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
Cuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort ServiceCuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
Cuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
yakranividhrini
 
Lateral load-resisting systems in buildings.pptx
Lateral load-resisting systems in buildings.pptxLateral load-resisting systems in buildings.pptx
Lateral load-resisting systems in buildings.pptx
DebendraDevKhanal1
 
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book NowKandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
SONALI Batra $A12
 
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls ChennaiCall Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
paraasingh12 #V08
 
CSP_Study - Notes (Paul McNeill) 2017.pdf
CSP_Study - Notes (Paul McNeill) 2017.pdfCSP_Study - Notes (Paul McNeill) 2017.pdf
CSP_Study - Notes (Paul McNeill) 2017.pdf
Ismail Sultan
 
Covid Management System Project Report.pdf
Covid Management System Project Report.pdfCovid Management System Project Report.pdf
Covid Management System Project Report.pdf
Kamal Acharya
 
BBOC407 Module 1.pptx Biology for Engineers
BBOC407  Module 1.pptx Biology for EngineersBBOC407  Module 1.pptx Biology for Engineers
BBOC407 Module 1.pptx Biology for Engineers
sathishkumars808912
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
gapboxn
 
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Tsuyoshi Horigome
 
Call Girls Goa (india) ☎️ +91-7426014248 Goa Call Girl
Call Girls Goa (india) ☎️ +91-7426014248 Goa Call GirlCall Girls Goa (india) ☎️ +91-7426014248 Goa Call Girl
Call Girls Goa (india) ☎️ +91-7426014248 Goa Call Girl
sapna sharmap11
 
🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...
🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...
🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...
aarusi sexy model
 
Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...
Banerescorts
 
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
Ak47
 
Sri Guru Hargobind Ji - Bandi Chor Guru.pdf
Sri Guru Hargobind Ji - Bandi Chor Guru.pdfSri Guru Hargobind Ji - Bandi Chor Guru.pdf
Sri Guru Hargobind Ji - Bandi Chor Guru.pdf
Balvir Singh
 

Recently uploaded (20)

Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...
Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...
Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...
 
Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...
Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...
Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...
 
Butterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdfButterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdf
 
Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024
 
paper relate Chozhavendhan et al. 2020.pdf
paper relate Chozhavendhan et al. 2020.pdfpaper relate Chozhavendhan et al. 2020.pdf
paper relate Chozhavendhan et al. 2020.pdf
 
🔥Independent Call Girls In Pune 💯Call Us 🔝 7014168258 🔝💃Independent Pune Esco...
🔥Independent Call Girls In Pune 💯Call Us 🔝 7014168258 🔝💃Independent Pune Esco...🔥Independent Call Girls In Pune 💯Call Us 🔝 7014168258 🔝💃Independent Pune Esco...
🔥Independent Call Girls In Pune 💯Call Us 🔝 7014168258 🔝💃Independent Pune Esco...
 
Cuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
Cuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort ServiceCuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
Cuttack Call Girls 💯Call Us 🔝 7374876321 🔝 💃 Independent Female Escort Service
 
Lateral load-resisting systems in buildings.pptx
Lateral load-resisting systems in buildings.pptxLateral load-resisting systems in buildings.pptx
Lateral load-resisting systems in buildings.pptx
 
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book NowKandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
 
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls ChennaiCall Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
 
CSP_Study - Notes (Paul McNeill) 2017.pdf
CSP_Study - Notes (Paul McNeill) 2017.pdfCSP_Study - Notes (Paul McNeill) 2017.pdf
CSP_Study - Notes (Paul McNeill) 2017.pdf
 
Covid Management System Project Report.pdf
Covid Management System Project Report.pdfCovid Management System Project Report.pdf
Covid Management System Project Report.pdf
 
BBOC407 Module 1.pptx Biology for Engineers
BBOC407  Module 1.pptx Biology for EngineersBBOC407  Module 1.pptx Biology for Engineers
BBOC407 Module 1.pptx Biology for Engineers
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
 
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
 
Call Girls Goa (india) ☎️ +91-7426014248 Goa Call Girl
Call Girls Goa (india) ☎️ +91-7426014248 Goa Call GirlCall Girls Goa (india) ☎️ +91-7426014248 Goa Call Girl
Call Girls Goa (india) ☎️ +91-7426014248 Goa Call Girl
 
🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...
🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...
🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...
 
Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...
 
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
 
Sri Guru Hargobind Ji - Bandi Chor Guru.pdf
Sri Guru Hargobind Ji - Bandi Chor Guru.pdfSri Guru Hargobind Ji - Bandi Chor Guru.pdf
Sri Guru Hargobind Ji - Bandi Chor Guru.pdf
 

Taxonomy for bugs

  • 2. Taxonomy for Bugs  Bugs:---  Requirements, features and functionality Bugs  Structural Bugs  Data Bugs  Coding Bugs  Interface, integration and system Bugs  Test and Test Design Bugs
  • 3. Requirements, Features, Functionality Bugs  3 types of bugs :  Requirement & Specifications,Requirement & Specifications,  Feature bugs, &Feature bugs, &  feature interaction bugsfeature interaction bugs
  • 4. 1. Requirements & Specification Bugs. – Incompleteness, ambiguous or self-contradictory. – Analyst’s assumptions not known to the designer. – Some thing may miss when specs change. – These are expensive: introduced early in SDLC and removed at the last. 2.Feature Bugs – Specification problems create feature bugs – Wrong feature bug has design implications – Missing feature is easy to detect & correct – Unnecessary enhancements can accumulate bugs, if they increase complexity – When the features are eliminated, the following consequences arise – s/w becomes sophisticated – Consume more resources – Additional bugs are stimulated
  • 5. III. Feature Interaction Bugs – Arise due to unpredictable interactions between feature groups or individual features. – The earlier removed the better as these are costly if detected at the end. – Examples: call forwarding & call waiting. Remedies: Use high level formal specification languages to eliminate human-to-human communication It’s only a short term support & not a long term solution. Short-term Support: Specification languages formalize requirements & so automatic test generation is possible. It’s cost-effective. Long-term support: Even with a great specification language, problem is not eliminated, but is shifted to a higher level. Simple ambiguities & contradictions may only be removed, leaving tougher bugs.
  • 6. Testing Techniques for functional bugs: Functional test techniques - transactiontransaction flow testing, syntax testing, domainflow testing, syntax testing, domain testing, logic testing, and state testingtesting, logic testing, and state testing - can eliminate requirements & specifications bugs.
  • 7. 2.Structural Bugs  we look at the 5 types, their causes and remedies.  Control & Sequence bugs  Logic Bugs  Processing bugs  Initialization bugs  Data flow bugs & anomalies
  • 8. Control & Sequence Bugs:  Paths left out, unreachable code, spaghetti code, and pachinko code.  Improper nesting of loops, Incorrect loop- termination or look-back, ill-conceived switches.  Missing process steps, duplicated or unnecessary processing, rampaging GOTOs.  Old code (assembly language(ALP) & Cobol)  Most of the control flow bugs are easily tested and caught in unit testing.  Prevention and Control:  Theoretical treatment and,  Unit, structural, path, & functional testingUnit, structural, path, & functional testing.
  • 9. Logic Bugs  Misunderstanding of the semantics of the control structures & logic operators  Improper layout of cases, including impossible & ignoring necessary cases,  Using a look-alike operator, improper simplification, confusing Ex-OR with inclusive OR.  Deeply nested conditional statements & using many logical operations in 1 stmt.  Prevention and Control:  Logic testing, careful checks, functional testing
  • 10. Processing Bugs  Arithmetic, algebraic, mathematical function evaluation, algorithm selection & general. processing, data type conversion, ignoring overflow, improper use of relational operators.  Prevention  Caught in Unit TestingUnit Testing  Domain testingDomain testing methods
  • 11. Initialization Bugs  Forgetting to initialize work space, registers, or data areas.  Wrong initial value of a loop control parameter.  Accepting a parameter without a validation check.  Initialize to wrong data type or format.  Remedies (prevention & correction)(prevention & correction)  Programming tools, Explicit declaration & type checking in source language, preprocessors.  Data flow test methods help design of tests and debugging.
  • 12. Dataflow Bugs & Anomalies  Run into an un-initialized variable.  Not storing modified data.  Re-initialization without an intermediate use.  Detected mainly by execution (testing).  Remedies (prevention & correction)(prevention & correction)  Data flow testing methods & matrix based testing methods.
  • 13. Data BugsData Bugs Depend on the types of data or the representation of data. There are 4 sub categories. 1. Generic Data Bugs 2. Dynamic Data Vs Static Data 3. Information, Parameter, and Control Bugs 4. Contents, Structure & Attributes related Bugs
  • 14. Generic Data Bugs – Due to data object specs., formats, # of objects & their initial values. – Common as much as in code, especially as the code migrates to data. – Data bug introduces an operative statement bug & is harder to find. – Generalized components with reusability – when customized from a large parametric data to specific installation. Remedies (prevention & correction)(prevention & correction): Using control tables in lieu of code facilitates software to handle many transaction types with fewer data bugs. Control tables have a hidden programming language in the database. Caution - there’s no compiler for the hidden control language in data tables
  • 15. Dynamic Data Vs Static Data Dynamic Data BugsDynamic Data Bugs Static Data BugsStatic Data Bugs Transitory. Difficult to catch. Fixed in form & content. Due to an error in a shared storage object initialization. Appear in source code or data base, directly or indirectly Due to unclean / leftover garbage in a shared resource. Software to produce object code creates a static data table – bugs possible Examples Examples Generic & shared variable Telecom system software: generic parameters, a generic large program & site adapter program to set parameter values, build data declarations etc. Shared data structure Postprocessor : to install software packages. Data is initialized at run time – with configuration handled by tables. Prevention Data validation, unit testing Prevention Compile time processing Source language features
  • 16. Information, Parameter, and Control Bugs – Static or dynamic data can serve in any of the three forms. It is a matter of perspective. – What is information can be a data parameter or control data else where in a program. – Examples: name, hash code, function using these. – A variable in different contexts. – Information:Information: dynamic, local to a single transaction or task. – ParameterParameter: parameters passed to a call. – ControlControl: data used in a control structure for a decision. Preventive MeasuresPreventive Measures (prevention & correction)(prevention & correction) Proper Data validation code
  • 17. Contents, Structure & Attributes related Bugs  ContentsContents: are pure bit pattern & bugs are due to misinterpretation or corruption of it.  StructureStructure: Size, shape & alignment of data object in memory. A structure may have substructures.  AttributesAttributes: Semantics associated with the contents (e.g. integer, string, subroutine).  BugsBugs  Severity & subtlety increases from contents to attributes as they get less formal.  Structural bugs may be due to wrong declaration or when same contents are interpreted by multiple structures differently (different mapping).  Attribute bugs are due to misinterpretation of data type, probably at an interface
  • 18.  Preventive MeasuresPreventive Measures (prevention & correction)(prevention & correction)  Good source lang. documentation & coding style (incl. datadata dictionarydictionary).  Data structures be globally administered. Local data migrates to global.  Strongly typed languages prevent mixed manipulation of data.  In an assembly lang. program, use field-access macros & not directly accessing any field.
  • 19.  Coding BugsCoding Bugs  Coding errors create other kinds of bugs.  Syntax errors are removed when compiler checks syntax.  Coding errors  typographical, misunderstanding of operators or statements or could be just arbitrary.  Documentation Bugs  Erroneous comments could lead to incorrect maintenance.  Testing techniques cannot eliminate documentation bugs.  Solution:   Inspections, QA, automated data dictionaries & specification systems.
  • 20.  Interface, Integration and Systems BugsInterface, Integration and Systems Bugs  There are 9 types of bugs of this type. 1.1. External InterfacesExternal Interfaces 2.2. Internal InterfacesInternal Interfaces 3.3. Hardware Architecture BugsHardware Architecture Bugs 4.4. Operating System BugsOperating System Bugs 5.5. Software architecture bugsSoftware architecture bugs 6.6. Control & Sequence bugsControl & Sequence bugs 7.7. Resource management bugsResource management bugs 8.8. Integration bugsIntegration bugs 9.9. System bugsSystem bugs
  • 21. 1.1. External InterfacesExternal Interfaces  Means to communicate with the world: drivers, sensors, input terminals, communication lines.  Primary design criterion should be - robustness.  Bugs: invalid timing, sequence assumptions related to external signals, misunderstanding external formats and no robust coding.  Domain testing, syntax testing & state testing are suited to testing external interfaces. 2.2. Internal InterfacesInternal Interfaces  Must adapt to the external interface.  Have bugs similar to external interface  Bugs from improper  Protocol design, input-output formats, protection against corrupted data, subroutine call sequence, call-parameters.  Remedies (prevention & correction)Remedies (prevention & correction):  Test methods of domain testing & syntax testing.  Good design & standards: good trade off between # of internal interfaces & complexity of the interface.  Good integration testing is to test all internal interfaces with external world.
  • 22.  Hardware Architecture Bugs:Hardware Architecture Bugs:  A s/w programmer may not see the h/w layer / architecture.  S/w bugs originating from hardware architecture are due to misunderstanding of how h/w works.  Bugs are due to errors in:Bugs are due to errors in:  Paging mechanism, address generation  I/O device instructions, device status code, device protocol  Expecting a device to respond too quickly, or to wait for too long for response, assuming a device is initialized, interrupt handling, I/O device address  H/W simultaneity assumption, device data format error etc..
  • 23.  Remedies (prevention & correction)Remedies (prevention & correction):  Good software programming & Testing.  Centralization of H/W interface software.  Nowadays hardware has special test modes & test instructions to test the H/W function.  An elaborate H/W simulator may also be used.
  • 24.  Operating System Bugs:Operating System Bugs:  Due to:Due to:  Misunderstanding of H/W architecture & interface by the O. S.  Not handling of all H/W issues by the O. S.  Bugs in O. S. itself and some corrections may leave quirks.  Bugs & limitations in O. S. may be buried some where in the documentation.  Remedies (prevention & correction)Remedies (prevention & correction):  Same as those for H/W bugs.  Use O. S. system interface specialists  Use explicit interface modules or macros for all O.S. calls.  The above may localize bugs and make testing simpler.
  • 25. Software Architecture Bugs:Software Architecture Bugs: (called Interactive) The subroutines pass thru unit and integration tests without detection of these bugs. Depend on the Load, when the system is stressed. These are the most difficult to find and correct. Due to:Due to: – Assumption that there are no interrupts, Or, Failure to block or unblock an interrupt. – Assumption that code is re-entrant or not re-entrant. – Bypassing data interlocks, Or, Failure to open an interlock. – Assumption that a called routine is memory resident or not. – Assumption that the registers and the memory are initialized, Or, that their content did not change. – Local setting of global parameters & Global setting of local parameters. RemediesRemedies: Good design for software architecture. Test TechniquesTest Techniques All test techniques are useful in detecting these bugs, Stress tests in
  • 26. Control & Sequence Bugs:Control & Sequence Bugs: Due to:Due to: – Ignored timing – Assumption that events occur in a specified sequence. – Starting a process before its prerequisites are met. – Waiting for an impossible combination of prerequisites. – Not recognizing when prerequisites are met. – Specifying wrong priority, Program state or processing level. – Missing, wrong, redundant, or superfluous process steps. RemediesRemedies: – Good design. – highly structured sequence control - useful – Specialized internal sequence-control mechanisms such as an internal job control language – useful. – Storage of Sequence steps & prerequisites in a table and interpretive processing by control processor or dispatcher - easier to test & to correct bugs. Test TechniquesTest Techniques Path testing as applied to Transaction Flow graphs is effective.
  • 27. Resource Management Problems:Resource Management Problems: Resources: Internal: Memory buffers, queue blocks etc. External: discs etc. Due to:Due to: – Wrong resource used (when several resources have similar structure or different kinds of resources in the same pool). – Resource already in use, or deadlock – Resource not returned to the right pool, Failure to return a resource. Resource use forbidden to the caller. RemediesRemedies: – Design: keeping resource structure simple with fewest kinds of resources, fewest pools, and no private resource mgmt. – Designing a complicated resource structure to handle all kinds of transactions to save memory is not right. – Centralize management of all resource pools thru managers, subroutines, macros etc. Test TechniquesTest Techniques Path testing, transaction flow testing, data-flow testing & stress testing.
  翻译: