The fault classification describes the cause of the fault/failure that was observed.

After considerable research, we have selected and modified terms principally from these sources:
IBM's Ram Chillarege, "Orthogonal Defect Classification;" IEEE Standard. 1044 Standard Classification for Software Anomalies; George Stark, The MITRE Corporation; Boris Beizer, Software Testing Techniques. Examples are not inclusive, for lack of space, but should provide enough information for selection:

Specification/ Function: Affects significant capability, end-user features, product application programming interface (API), interfaces with hardware architecture, global structures. Requirements Specification incorrect/ inadequate

Interface: Corresponds to errors in interacting with other components (software, hardware, user/database), modules, device drivers, call statements, control blocks, parameter lists.

Data Handling: Data file not available; data referenced out-of bounds; data initialization; variable used as flag or index not set properly; data not properly defined / dimensioned; subscripting error; initialization, data structure

Logic/ checking: Addresses program logic that has failed to properly validate data and values before they are used, loop conditions; omitted cases; neglected extreme conditions; iterating loop incorrectly;

Computational / algorithm: Incorrect operand in equation; Incorrect variables in algorithms; incorrect punctuation; rounding or truncation errors; efficiency or correctness problems that can affect the task and can be fixed without design change; missing computation

Performance / timing: Time limit exceeded; storage limit exceeded; code or design inefficient; network efficiency

Input: Incorrect format; input read from incorrect location; end-of-file missing or improperly encountered; incorrect data used for test cases

Output: Data written to different location; incorrect format; incorrect expected values for testing; presentation

Documentation: Errors can affect all publications and maintenance notes, and comments within design and code; presentation; ambiguous statement; incomplete; redundant; incorrect; not traceable

Operation: COTS software changes; configuration control

Improvement / Enhancement: Improve existing functions; improve interfaces; improve efficiency; improve usability

Build/package/ merge Errors that occur due to mistakes in library systems, management of changes, or version control.