Typsäkerhet är en del av datorprogrammering som hjälper till att förhindra skapandet av buggar som dyker upp när ett program körs. Om typsäkerheten är slapp, är det stor sannolikhet att det kommer att finnas några buggar, som kan orsaka en mängd olika fel. Det vanligaste sättet att säkerställa att dessa fel inte uppstår är att använda stark kodning. Medan många programmeringsspråk i sig har funktioner för att säkerställa programmeringstrohet och för att förhindra fel, kan dålig kodning göra dessa funktioner maktlösa. Det finns två sätt som ett programmeringsspråk kan kontrollera efter dessa fel – statiska eller dynamiska – och båda kan vara effektiva.
Fel är vanliga i program och kodning och med typsäkerhet uppstår felet specifikt från olika datatyper som inte är ordentligt reglerade. De fel som kan uppstå sträcker sig från nominella till allvarliga, men de flesta tenderar att vara allvarliga. Detta kan stänga av programmet, eller så kan den dåliga kodningen orsaka värre problem som kan göra kodningen värdelös och fragmenterad.
Det finns många sätt att säkerställa typsäkerhet, men ett av de enklare och vanligaste sätten är att använda stark typkodning. Till skillnad från mjukare kodningsmetoder, som kan göra det möjligt för programmeringsspråket att felaktigt definiera besvärlig kodning, är stark typkodning väldigt direkt. Stark typkodning använder också regler och förordningar för att säkerställa att kodningen inte är felaktigt definierad och för att säkerställa att det finns få fel.
Ett brott i typsäkerheten kan resultera i stora problem, så många programmeringsspråk har antagit funktioner för att testa och eliminera – eller varna programmerare för – dessa problem. Innan programmeringen går vidare till runtime kommer språket att leta efter vanliga fel och vanligtvis avbryter runtime-starten om fel upptäcks. Samtidigt kan dessa funktioner vara värdelösa om programmeraren skapar mycket dålig kodning. Språket kommer inte att kunna känna igen de vanliga tecknen på typsäkerhet, så programmet kommer att köras även om det finns ett fel.
Det finns två metoder för att fånga upp potentiella säkerhetsproblem, och dessa gäller endast för programmeringsspråk som automatiskt söker efter fel. Statiska metoder letar helt enkelt efter de vanliga tecknen på ett problem när programmet körs. Den andra metoden, dynamisk, kontrollerar noggrant koden och letar efter rollen för varje kodningselement i partikelprogrammet. Den söker sedan igenom hela programmet för att se om det finns något speciellt undantag för kodning som kan vara ett fel, och sedan låter den antingen passera eller stoppar programmets start.