Techopedia Forklarer Kildekodeanalyse
Kildekodeanalyse er i utgangspunktet automatisert kodefeil. Målet er å finne feil og feil som kanskje ikke er åpenbare for en programmerer. Det er ment å finne feil som mulige bufferoverløp eller ryddig bruk av pekere og misbruk av søppelinnsamlingsfunksjoner, som alle kan utnyttes av en hacker.
Kodeanalysatorer arbeider med regler som forteller det hva du skal se etter. Med for liten presisjon kan en analysator spy ut for mange falske positiver og oversvømme brukeren med ubrukelige advarsler, mens for mye presisjon kan ta for lang tid å fullføre; derfor må det være en balanse.
det finnes to typer analysatorer:
- Interprocedural-Oppdager mønstre fra en funksjon til den neste, og disse mønstrene er korrelert slik at analysatoren kan lage en modell og simulere kjøringsbaner.
- Intraprosedural-Fokuserer på mønstermatching og avhenger av hva slags mønstre brukeren er ute etter.
Interprocedural analysatorer er mer moderne og mer komplekse. Gode eksempler på Dette er Coverity, Fortify og Microsofts eget sentraliserte Verktøyprefiks.