Dealing with C's Original Sin

Chris Hathhorn, Grigore Rosu

Research output: Contribution to journalArticlepeer-review


In the very early days of C, the compiler written by Dennis Ritchie and supplied with the UNIX operating system entirely defined the language. As the number of users and C implementations grew, however, so too did the need for a language standard-a contract between users and implementers about what should and should not count as C. This effort began in 1983 with the formation of a committee tasked with producing "an unambiguous and machine-independent definition of the language C" and led to the ANSI C Standard in 1989.1 In retrospect, it was not until this date, 17 years after the first compiler, when C's most notorious language feature slithered into the world: undefined behavior.

Original languageEnglish (US)
Article number8802866
Pages (from-to)24-28
Number of pages5
JournalIEEE Software
Issue number5
StatePublished - Sep 1 2019
Externally publishedYes

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Dealing with C's Original Sin'. Together they form a unique fingerprint.

Cite this