Tüübiturvalisus on arvutiprogrammeerimise osa, mis aitab vältida programmi töötamisel ilmnevate vigade teket. Kui tüübiohutus on nõrk, siis on suur tõenäosus, et esineb vigu, mis võivad põhjustada mitmesuguseid vigu. Kõige tavalisem viis nende vigade vältimiseks on tugeva kodeerimise kasutamine. Kuigi paljudel programmeerimiskeeltel on oma olemuselt funktsioonid programmeerimistäpsuse tagamiseks ja vigade vältimiseks, võib halb kodeerimine muuta need funktsioonid jõuetuks. Programmeerimiskeel saab neid vigu kontrollida kahel viisil – staatilised või dünaamilised – ja mõlemad võivad olla tõhusad.
Vead on programmides ja kodeerimises tavalised ning tüübiohutuse korral ilmneb viga konkreetselt erinevatest andmetüüpidest, mis pole korralikult reguleeritud. Tekkida võivad vead ulatuvad nominaalsetest kuni tõsiste vigadeni, kuid enamik on tõsised. See võib programmi sulgeda või halb kodeerimine võib põhjustada hullemaid probleeme, mis võivad muuta kodeerimise kasutuks ja killustatuks.
Tüübiohutuse tagamiseks on palju võimalusi, kuid üks lihtsamaid ja levinumaid viise on tugeva tüübikoodi kasutamine. Erinevalt pehmematest kodeerimismeetoditest, mis võimaldavad programmeerimiskeelel ebamugavat kodeerimist valesti määratleda, on tugevat tüüpi kodeerimine väga otsene. Tugeva tüübi kodeerimine kasutab ka reegleid ja eeskirju, et kodeering ei oleks valesti määratletud ja et vigu oleks vähe.
Tüübiohutuse rikkumine võib põhjustada suuri probleeme, nii et paljud programmeerimiskeeled on kasutusele võtnud funktsioonid nende probleemide testimiseks ja kõrvaldamiseks või programmeerijate hoiatamiseks. Enne programmeerimise jätkamist käitusajal kontrollib keel levinud vigu ja tavaliselt katkestab käitusaja käivitamise, kui avastatakse tõrkeid. Samal ajal võivad need funktsioonid olla kasutud, kui programmeerija loob väga halva kodeerimise. Keel ei suuda tuvastada levinumaid tüübiohutuse märke, mistõttu programm töötab, kuigi esineb tõrge.
Võimalike tüübiohutusprobleemide tuvastamiseks on kaks meetodit ja need kehtivad ainult programmeerimiskeelte puhul, mis kontrollivad automaatselt vigu. Staatilised meetodid otsivad lihtsalt probleemi levinumaid märke, kui programm käivitub. Teine meetod, dünaamiline, kontrollib koodi põhjalikult ja otsib iga kodeerimiselemendi rolli tahkete osakeste programmis. Seejärel otsib see läbi kogu programmi, et näha, kas kodeerimisel on mõni spetsiaalne erand, mis võib olla viga, ja seejärel laseb see läbi või peatab programmi käivitamise.