Shopping Cart

No products in the cart.

AAMI SW91 2018

$140.32

ANSI/AAMI SW91:2018 – Classification of defects in health software

Published By Publication Date Number of Pages
AAMI 2018 76
Guaranteed Safe Checkout
Category:

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. We’re here to assist you 24/7.
Email:[email protected]

Provides a common language for the classification of defects occurring in health software.

PDF Catalog

PDF Pages PDF Title
1 ANSI/AAMI SW91:2018; Classification of defects in health software
2 Objectives and uses of AAMI standards and recommended practices
3 Title page
4 AAMI Standard
Copyright information
5 Contents
6 Committee representation
7 Foreword
9 1 Scope
2 Normative references
3 Terms and definitions
10 4 Defect codes
4.1. Defect code hierarchy and scope
11 4.2. Defect code use
12 4.3. Adding defect codes
5 Taxonomy
5.1. General
5.2. Planning (1)
5.2.1. General
5.2.2. Plan documentation (1.1)
5.2.3. Plan feasibility (1.2)
13 5.3. Requirements (2)
5.3.1. General
5.3.2. Requirement correctness (2.1)
5.3.2.1. General
5.3.2.2. Requirement accuracy (2.1.1)
5.3.2.3. Requirement clarity (2.1.2)
5.3.2.4. Requirement relevance (2.1.3)
5.3.3. Requirement completeness (2.2)
5.3.3.1. General
5.3.3.2. Requirement uniqueness (2.2.1)
5.3.3.3. Requirement scope (2.2.2)
14 5.3.3.4. Requirement adequacy (2.2.3)
5.3.4. Requirement logic (2.3)
5.3.4.1. General
5.3.4.2. Requirement soundness (2.3.1)
5.3.4.3. Requirement reasonableness (2.3.2)
5.3.4.4. Requirement achievability (2.3.3)
15 5.3.4.5. Requirement compatibility (2.3.4)
5.3.4.6. Requirement specificity (2.3.5)
5.3.5. Requirement verifiability (2.4)
5.4. Architecture and design (3)
5.4.1. General
16 5.4.2. System decomposition (3.1)
5.4.3. Segregation necessary for risk control (3.2)
5.4.4. Scalability (3.3)
5.4.5. Thread/task interactions (3.4)
5.4.5.1. General
5.4.5.2. Thread reentrancy (3.4.1)
5.4.5.3. Thread safety (3.4.2)
5.4.5.4. Thread priority (3.4.3)
5.4.5.5. Transactional integrity (3.4.4)
17 5.4.5.6. Resource management and control (3.4.5)
5.4.6. Performance (3.5)
5.4.6.1. General
5.4.6.2. Throughput (3.5.1)
5.4.6.3. Response time or delay (3.5.2)
5.4.6.4. Capacity (3.5.3)
5.4.6.5. Resource utilization (3.5.4)
18 5.4.7. Operating environment selection (3.6)
5.4.8. Third-party software (3.7)
5.4.8.1. General
5.4.8.2. Third-party software functional and performance requirements (3.7.1)
5.4.8.3. Third-party software selection (3.7.2)
5.4.8.4. Third-party software documentation (3.7.3)
19 5.4.8.5. Extraneous third-party software functionality (3.7.4)
5.4.9. Security (3.8)
20 5.4.10. Code reuse (3.9)
5.4.11. Algorithm selection (3.10)
5.4.12. Hardware interfaces (3.11)
5.4.12.1. General
5.4.12.2. Interrupts/exceptions (3.11.1)
5.4.12.3. Hardware usage (3.11.2)
21 5.4.12.4. I/O Timing or throughput (3.11.3)
5.4.13. Failure to capture design (3.12)
5.5. Implementation (4)
5.5.1. General
5.5.2. Data definition (4.1)
5.5.2.1. General
22 5.5.2.2. Scalar data type (4.1.1)
5.5.2.2.1. General
5.5.2.2.2. Scalar data operations (4.1.1.1)
5.5.2.2.3. Scaled fixed-point precision (4.1.1.2)
5.5.2.2.4. Scaled fixed-point range (4.1.1.3)
5.5.2.3. Scalar size (4.1.2)
5.5.2.3.1. General
5.5.2.3.2. Scalar precision (4.1.2.1)
5.5.2.3.3. Scalar range (4.1.2.2)
5.5.2.3.4. Array declaration (4.1.2.3)
5.5.2.3.5. Array bounds (4.1.2.4)
23 5.5.2.3.6. Array dimensioning (4.1.2.5)
5.5.2.4. Data alignment (4.1.3)
5.5.2.5. Data initial value correctness (4.1.4)
5.5.2.5.1. General
5.5.2.5.2. Data uninitialized (4.1.4.1)
5.5.2.5.3. Data cloning (4.1.4.2)
24 5.5.2.5.4. Data initializer type (4.1.4.3)
5.5.2.5.5. Data symbolic value (4.1.4.4)
25 5.5.2.5.6. Data literal value (4.1.4.5)
5.5.2.6. Data scope (4.1.5)
5.5.2.6.1. General
5.5.2.6.2. Data accessibility (4.1.5.1)
5.5.2.6.3. Use outside declared scope (4.1.5.2)
5.5.2.6.4. Unintended access (4.1.5.3)
26 5.5.2.6.5. Unintended dependency (4.1.5.4)
5.5.2.7. Data protection (4.1.6)
5.5.2.7.1. General
5.5.2.7.2. Public data declared private (4.1.6.1)
5.5.2.7.3. Private data declared public (4.1.6.2)
5.5.2.8. Data access qualifier (4.1.7)
27 5.5.3. Data use and processing (4.2)
5.5.3.1. General
5.5.3.2. Object compatibility (4.2.1)
5.5.3.2.1. General
5.5.3.2.2. Type compatibility (4.2.1.1)
5.5.3.2.3. Scaling compatibility (4.2.1.2)
5.5.3.2.4. Endian-ness compatibility (4.2.1.3)
5.5.3.2.5. Casting and conversions (4.2.1.4)
28 5.5.3.3. Object referencing (4.2.2)
5.5.3.3.1. General
5.5.3.3.2. Null object reference (4.2.2.1)
5.5.3.3.3. Reference outside declared bounds (4.2.2.2)
5.5.3.3.4. Reference to wrong element (4.2.2.3)
5.5.3.3.5. Use after free (4.2.2.4)
5.5.3.3.6. Free after free (4.2.2.5)
5.5.3.3.7. Failure to free (4.2.2.6)
5.5.3.3.8. Lost reference (4.2.2.7)
29 5.5.3.4. Object access privilege (4.2.3)
5.5.3.4.1. General
5.5.3.4.2. Access authorization (4.2.3.1)
5.5.3.4.3. Access privileges (4.2.3.2)
5.5.3.4.4. Access protection (4.2.3.3)
5.5.3.5. Coherency (4.2.4)
30 5.5.3.6. Context save/restore (4.2.5)
5.5.3.6.1. General
5.5.3.6.2. Failure to save/restore (4.2.5.1)
5.5.3.6.3. Incomplete save/restore (4.2.5.2)
5.5.3.6.4. Failure to check restore (4.2.5.3)
5.5.3.7. Data validity checks (4.2.6)
5.5.3.8. Data manipulations (4.2.7)
5.5.3.8.1. General
31 5.5.3.8.2. Mixed sign (4.2.7.1)
5.5.3.8.3. Rounding and significant digits (4.2.7.2)
5.5.3.8.4. Infinite/NaN result (4.2.7.3)
32 5.5.3.9. Expression evaluation (4.2.8)
5.5.3.9.1. General
5.5.3.9.2. Operator (4.2.8.1)
5.5.3.9.3. Grouping (4.2.8.2)
5.5.3.10. Cleanup (4.2.9)
5.5.3.11. Execution time (4.2.10)
33 5.5.3.12. Returned error code (4.2.11)
5.5.3.13. Processing timeout (4.2.12)
5.5.4. Control flow (4.3)
5.5.4.1. General
5.5.4.2. General structure (4.3.1)
5.5.4.2.1. General
34 5.5.4.2.2. Unreachable code (4.3.1.1)
5.5.4.2.3. Dead end code (4.3.1.2)
5.5.4.3. Control logic (4.3.2)
5.5.4.3.1. General
5.5.4.3.2. Duplicated control logic (4.3.2.1)
5.5.4.3.3. Infeasible control logic (4.3.2.2)
35 5.5.4.3.4. Switch case selection (4.3.2.3)
5.5.4.3.5. No switch default case (4.3.2.4)
5.5.4.3.6. Multi-way branch (4.3.2.5)
5.5.4.3.7. Control logic syntax (4.3.2.6)
36 5.5.4.4. Loops and iterations (4.3.3)
5.5.4.4.1. General
5.5.4.4.2. Loop terminal condition or value (4.3.3.1)
5.5.4.4.3. Loop iteration values (4.3.3.2)
5.5.4.4.4. Loop exit condition (4.3.3.3)
5.5.4.5. Control state (4.3.4)
37 5.5.4.6. Incorrect exception handling (4.3.5)
5.5.5. Software interfaces (4.4)
5.5.5.1. General
5.5.5.2. Component invocation (4.4.1)
5.5.5.2.1. General
5.5.5.2.2. Component availability (4.4.1.1)
5.5.5.2.3. Component identity (4.4.1.2)
5.5.5.2.4. Component order (4.4.1.3)
38 5.5.5.3. Interface parameter – invocation (4.4.2)
5.5.5.3.1. General
5.5.5.3.2. Interface API (4.4.2.1)
5.5.5.3.3. Interface parameter type (4.4.2.2)
5.5.5.3.4. Interface parameter structure (4.4.2.3)
5.5.5.3.5. Interface parameter value (4.4.2.4)
5.5.5.3.6. Interface parameter sequence (4.4.2.5)
39 5.5.5.4. Component return interpretation (4.4.3)
5.5.6. Inheritance and polymorphism (4.5)
5.5.6.1. General
5.5.6.2. Unable to override functionality (4.5.1)
5.5.6.3. Wrong method called – arguments (4.5.2)
5.5.6.4. Wrong method called – inheritance (4.5.3)
5.5.6.5. Inherited functionality incorrect (4.5.4)
5.5.7. Conditional code (4.6)
40 5.5.8. Unwanted code (4.7)
5.5.9. Incorrect design translation (4.8)
5.5.10. Missed design translation (4.9)
41 5.5.11. Coding standards violations (4.10)
5.5.11.1. General
5.5.11.2. Control flow and nesting (4.10.1)
5.5.11.3. Modularity and complexity (4.10.2)
5.5.11.4. Naming, data definition, declarations (4.10.3)
5.5.11.5. Calling, invoking, and accessing (4.10.4)
42 5.5.11.6. Structure and format (4.10.5)
5.6. Test (5)
5.6.1. General
5.6.2. Test design (5.1)
5.6.2.1. General
5.6.2.2. Test case design (5.1.1)
5.6.2.3. Test case completeness (5.1.2)
5.6.2.4. Test steps (5.1.3)
5.6.2.5. Predicted test outcome (5.1.4)
5.6.2.6. Predicted test path (5.1.5)
5.6.2.7. Initialization of test data (5.1.6)
5.6.2.8. Test tools (5.1.7)
43 5.6.2.9. Test sequencing (5.1.8)
5.6.2.10. Test design configuration (5.1.9)
5.6.2.11. Test verification method (5.1.10)
5.6.3. Test execution (5.2)
5.6.3.1. General
5.6.3.2. Test execution use error (5.2.1)
5.6.3.3. Test database (5.2.2)
5.6.3.4. Test execution configuration (5.2.3)
5.6.3.5. Test Results verification (5.2.4)
5.6.3.6. Test case selection (5.2.5)
44 5.6.4. Test documentation (5.3)
5.7. Release (6)
5.7.1. General
5.7.2. Release version or configuration (6.1)
5.7.3. Release integrity (6.2)
5.7.4. Release authentication (6.3)
5.7.5. Build and release tools (6.4)
5.8. Maintenance (7)
5.8.1. General
5.8.2. Runtime operating environment (7.1)
45 5.8.3. Installation procedure failed (7.2)
5.8.4. Third-party components (7.3)
5.8.5. Manufacturer’s change installations (7.4)
5.8.5.1. General
5.8.5.2. Failure to notify end-user of available changes (7.4.1)
5.8.5.3. Failure to apply changes from manufacturer (7.4.2)
5.8.6. Third-party change installations (7.5)
5.8.6.1. General
5.8.6.2. Failure to integrate updated third-party software into release (7.5.1)
46 5.8.6.3. Failure to notify end-user of approved changes from third party (7.5.2)
5.8.6.4. Failure to apply changes from third party (7.5.3)
5.8.6.5. Applying change from third party without notification from manufacturer (7.5.4)
5.8.6.6. Manufacturer does not test change from third party (7.5.5)
5.8.7. Database upgrades (7.6)
47 Annex A (informative) Uses of defect data
49 Annex B (informative) FDA Evaluation result code to SW91 defect code mapping
Table B.1 – Mapping between FDA evaluation codes and SW91 defect codes
52 Annex C (informative) IEC/TR 80002-1 to SW91 Defect code mapping
Table C.1 – Mapping between IEC/TR 80002-1 and SW91 defect codes
62 Annex D (informative) Common weakness enumeration (CWE) to SW91 defect code mapping
Table D.1 – Mapping between CWE and SW91 defect codes
66 Annex E (informative) Examples using SW91 during root cause analysis
71 Annex F
(informative) SW91 Defect category and code table
Table F.1 – SW91 Defect category and code table
75 Annex G
(informative) Defect inclusion criteria
76 Bibliography
AAMI SW91 2018
$140.32