Different kinds of faults in embedded systems

Product error in embedded systems

An embedded system (and its host product) can suffer from a variety of kinds of fault:

  • ‘Hard’ faults: engineering mistakes (e.g. wrong choice of material, bug in computer code) or weaknesses (e.g. environmental sensitivity) in making the product ‘right’, leading to significant risk of product failure
  • ‘Soft’ or ‘perceptive’ faults: design mistakes or weaknesses in making the ‘right’ product, leading to incorrect use by human operator

Both kinds of fault can be associated with both the hardware and software components of an embedded system.

Classical engineering has traditionally focused on hard faults. More recently, with increasing product sophistication, soft faults are actually becoming more frequent than hard faults, at least in certain product categories [Koca et al. 2008].

Repair and recovery

The importance in making the above distinction between different kinds of faults is that different actions will be required to remedy the faults:

  • ‘Hard’ fault => Product incapable of functioning according to technical specifications without intervention of qualified technical repair (or replacement)
  • ‘Soft’ fault => Product still capable of functioning according to technical specifications but requires qualified intervention for recovery, e.g. instructions, explanations, additional information to the human user [Koca et al. 2008]



Koca A et al. 2009 “Soft reliability: An interdisciplinary approach with a user-system focus”, Qual. Reliab. Engng. Int. 25, 3 – 20 DOI: 10.1002/qre.937



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: