Techopedia Spiega Analisi del codice sorgente
Analisi del codice sorgente è fondamentalmente il debug del codice automatizzato. L’obiettivo è trovare bug e difetti che potrebbero non essere ovvi per un programmatore. È pensato per trovare errori come possibili overflow del buffer o uso disordinato di puntatori e uso improprio delle funzioni di garbage collection, che possono essere sfruttabili da un hacker.
Gli analizzatori di codice funzionano usando regole che dicono cosa cercare. Con troppa poca precisione, un analizzatore potrebbe vomitare troppi falsi positivi e inondare l’utente con avvisi inutili, mentre troppa precisione potrebbe richiedere troppo tempo per finire; quindi, deve essere un equilibrio.
Ci sono due tipi di analizzatori:
- Interprocedural-Rileva i modelli da una funzione all’altra e questi modelli sono correlati in modo che l’analizzatore possa creare un modello e simulare i percorsi di esecuzione.
- Intraprocedural – Si concentra sulla corrispondenza dei pattern e dipende dai tipi di pattern che l’utente sta cercando.
Gli analizzatori interprocedurali sono più moderni e complessi. Buoni esempi di questo sono Coverity, Fortify e prefisso strumento centralizzato di Microsoft.