Software bugs, (i.e., faults) are often classified in software or product development contracts according to severity. These classifications may be used to establish when stage payments are due, for example, (e.g., “when no Class A Bugs, no more then # Class B Bugs, and no more than # Class C Bugs are observable”).
Usually a Class A Bug is a ‘showstopper,’ i.e., a fault that prevents the software under development from running at all; a Class B Bug is often defined as a fault that the software can run with, but that significantly impairs its basic functionality; a Class C bug is often defined as a bug that impairs the functionality or appearance of the software, but does not impair basic functionality. However, in complex systems more bug categories can be used—with Class A almost always remaining a showstopper, but the latter categories subdivided and more closely defined.
Different language is sometimes used, such as ‘software fault’ and or Category A, B, C or Category 1, 2, 3, etc. but the general scheme is usually the same.