If the cost of errors is high enough, e.g. in a safety-critical system, redundancy may be used in both hardware AND software with three separate computers programmed by three separate teams ("triple redundancy") and some system to check that they all produce the same answer, or some kind of majority voting system.
Technically, redundancy is one minus the ratio of the actual uncertainty to the maximum uncertainty. This is the fraction of the structure of the message which is determined not by the choice of the sender, but rather by the accepted statistical rules governing the choice of the symbols in question.
[Shannon and Weaver, 1948, p. l3]