Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Common Software Failures
1. Compiled By Arul Selvan P.
Compiled By Arul Selvan P.
Common Software Failures
Categories
1) Boundary Related
2) Calculation Errors
3) Control Flow Errors
4) Error Handling
5) Hardware
6) Initialisation and Clearing
7) Load Conditions
8) Memory Faults
9) Mutation Faults
10) Race Conditions
11) Source, Version Control and ID
12) Testing Reports
13) User-Interface Errors
# Failure Type Failure Point
1 Boundary Related Value above or below range
2 Boundary Related Boundaries in loop, space, time, memory
3 Boundary Related Mishandling of cases outside the boundary
4 Calculation Errors Wrong data type or data size
5 Calculation Errors Overflow or underflow in calculation
6 Calculation Errors Incorrect Algorithm
7 Calculation Errors Out of sequence event
8 Calculation Errors Failure to meet timing requirement
9 Calculation Errors Memory usage problems
10 Calculation Errors Bad Logic
11 Calculation Errors Bad Arithmetic
12 Calculation Errors Outdated constants
13 Calculation Errors Calculation errors
14
Calculation Errors
Incorrect conversion from one data representation to
another
15 Calculation Errors Wrong formula
16 Calculation Errors Incorrect approximation
17 Control Flow Errors Using a Big Loop
18 Control Flow Errors Wrong returning state assumed
19 Control Flow Errors Exception handling based exits
20 Control Flow Errors Stack underflow/overflow
21 Control Flow Errors Comparison sometimes yields wrong result
22 Control Flow Errors Missing/wrong default
23 Control Flow Errors Data Type errors
24 Error Handling Tests of user input
25 Error Handling Version control
26 Error Handling Ignores – overflow
27 Error Handling Data comparison
28 Error Handling Un-terminated null strings
29 Error Handling Overwriting a file after an error exit or user abort
30 Error Handling Error recovery – aborting errors
31 Hardware Wrong Device
2. Compiled By Arul Selvan P.
Compiled By Arul Selvan P.
32 Hardware Device unavailable
33 Initialisation and Clearing Shared data corrupted
34 Initialisation and Clearing Use of uninitialized variables
35 Initialisation and Clearing Failure to - set data item to zero
36 Initialisation and Clearing Failure to initialize a loop-control variable
37 Initialisation and Clearing Failure to re-initialize a pointer
38 Initialisation and Clearing Failure to clear a string or flag
39 Initialisation and Clearing Incorrect initialization
40 Load Conditions Required resources are not available
41 Load Conditions No available large memory area
42 Load Conditions Low priority tasks not put off
43 Load Conditions Doesn't erase old files from mass storage
44 Load Conditions Doesn't return unused memory
45 Memory Faults Illegal Read and Write
46 Memory Faults Pointer too Large
47 Memory Faults Array Index out of Range
48 Memory Faults Memory Not Allocated
49 Memory Faults Buffer Overflow or Not Allocated
50 Memory Faults Illegal Reference to uninitialized variables
51 Mutation Faults Mutating the Arithmetic and Boolean operator
52 Mutation Faults Operands – Counter not incremented/decremented
53 Mutation Faults Incorrect Global Variables
54
Race Conditions
Assumption that one event or task finished before another
begins (Incorrect Timing)
55 Race Conditions Resource races
56 Race Conditions Tasks starts before its prerequisites are met
57
Race Conditions
Messages cross or don't arrive in the order sent (Incorrect
Sequencing)
58
Source, Version and ID
Control
Reusing an Interdependent Code
59
Source, Version and ID
Control
No Title or version ID
60
Source, Version and ID
Control
Failure to update multiple copies of data or program files
61 Testing Errors Failure to notice/report a problem
62 Testing Errors Failure to use the most promising test case
63 Testing Errors Corrupted data files
64 Testing Errors Misinterpreted specifications or documentation
65 Testing Errors Failure to make it clear how to reproduce the problem
66 Testing Errors Failure to check for unresolved problems just before release
67 Testing Errors Failure to verify fixes
68 Testing Errors Failure to provide summary report
69 User-Interface Errors Value in range but incorrect
70 User-Interface Errors Physical units incorrect
71 User-Interface Errors Incorrect operator input
72 User-Interface Errors Missing/Wrong Functions
73 User-Interface Errors Missing/Confusing information
74 User-Interface Errors Inappropriate error messages
75 User-Interface Errors Performance issues - Poor responsiveness