I programmering er resultatet av å kjøre kode som ikke har en definert oppførsel av språkspesifikasjonen som koden forholder seg til. Både C og C++ er språk hvor oppførselen noen ganger er udefinert. I standarden til disse språkene står semantikken for enkelte operasjoner som udefinert. En kompilator har lov til å anta at slike operasjoner aldri vil finne sted i koden. Implementasjonen av kompilatoren vil anses som korrekt uansett hva den definerer oppførselen til å være i tilfellet hvor kode har udefinert oppførsel. Dette gir stor fleksibilitet til de som skal skrive kompilatorer, da det tillater kompilatoren ofte å gjøre betydelige optimiseringer. Det er programvareutviklerens ansvar å skrive kode som ikke har udefinert oppførsel, selv om kompilatoren har lov til å diagnostisere problemet når det skjer.