Hva er typesikkerhet?
Typesikkerhet er en del av dataprogrammering som hjelper til med å forhindre at det opprettes feil som vises når et program kjører. Hvis typesikkerhet er slapp, er det stor sannsynlighet for at det vil være noen feil, som kan forårsake en rekke feil. Den vanligste måten å sikre at disse feilene ikke oppstår er ved å bruke sterk koding. Selv om mange programmeringsspråk iboende har funksjoner for å sikre programmeringsglede og for å forhindre feil, kan dårlig koding gjøre disse funksjonene strømløse. Det er to måter et programmeringsspråk kan sjekke for disse feilene - statiske eller dynamiske - og begge kan være effektive.
Feil er vanlig i programmer og koding, og med typesikkerhet oppstår feilen spesifikt fra forskjellige datatyper som ikke er riktig regulert. Feilene som kan oppstå varierer fra nominelle til alvorlige, men de fleste har en tendens til å være alvorlige. Dette kan slå av programmet, eller den dårlige kodingen kan føre til verre problemer som kan gjøre kodingen ubrukelig og fragmentert.
Det er mange måter å sikre typesikkerhet på, men en av de enklere og mer vanlige måtene er å bruke sterk type koding. I motsetning til mykere kodingsmetoder, som kan gjøre det mulig for programmeringsspråket å definere upåklagelig koding, er koding av sterk type veldig direkte. Koding av sterk type bruker også regler og forskrifter for å sikre at kodingen ikke er feil definert og sikre at det er få feil.
Et brudd på typesikkerhet kan føre til store problemer, så mange programmeringsspråk har tatt i bruk funksjoner for å teste og eliminere - eller varsle programmerere om - disse problemene. Før programmeringen fortsetter til kjøretid, vil språket sjekke for vanlige feil, og vil vanligvis avbryte kjøretidsstart hvis feil oppdages. Samtidig kan disse funksjonene være ubrukelige hvis programmereren lager veldig dårlig koding. Språket vil ikke kunne gjenkjenne de vanlige tegnene på typesikkerhet, så programmet vil kjøre selv om det er en feil.
Det finnes to metoder for å fange opp potensielle sikkerhetsproblemer, og disse gjelder bare programmeringsspråk som automatisk sjekker for feil. Statiske metoder ser ganske enkelt etter de vanlige tegnene på et problem når programmet går på løpetid. Den andre metoden, dynamisk, sjekker koden grundig og ser etter rollen til hvert kodingselement i det partikkelformede programmet. Den søker deretter gjennom hele programmet for å se om det er et spesielt unntak for koding som kan være en feil, og så lar den det enten passere eller stopper lanseringen av programmet.