Industry-accepted definitions exist for software errors and defects (faults), found in the ANSI/IEEE,
Glossary of Software Engineering Terminology, are
listed in Table A1.
Table A1 - IEEE Software Engineering Terminology [#!ieee!#]
| Category | Definition |
| Error | The difference between a computed, observed, or measured value or condition and the true, specified, or theoretically correct value or condition. |
| Fault | An incorrect step, process, or data definition in a computer program. |
| Debug | To detect, locate, and correct faults in a computer program. |
| Failure | The inability of a system or component to perform its required functions within specified performance requirements. It is manifested as a fault. |
| Testing | The process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the features of the software items. |
| Static analysis | The process of evaluating a system or component based on its form, structure, content, or documentation. |
| Dynamic analysis | The process of evaluating a system or component based on its behavior during execution. |
| Correctness | |
| Verification | |
| Validation | The process of evaluating a system or component during or at the end of the development process to determine whether it satisfies specified requirements. |
esmf_support@ucar.edu