 The modern development of error correction codes is credited to Richard Hamming in 1947.A description of Hamming's code appeared in Claude Shannon's "A Mathematical Theory of Communication" and was quickly generalized by Marcel J. E. Golay.All error-detection and correction schemes add some redundancy (i.e., some extra data) to a message, which receivers can use to check consistency of the delivered message, and to recover data that has been determined to be corrupted.