Analisi del codice sorgente

Autore: Eugene Taylor
Data Della Creazione: 7 Agosto 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
Come compilare i programmi da codice sorgente [GUIDA]
Video: Come compilare i programmi da codice sorgente [GUIDA]

Contenuto

Definizione - Cosa significa Analisi del codice sorgente?

L'analisi del codice sorgente è il test automatizzato del codice sorgente di un programma allo scopo di trovare guasti e risolverli prima che l'applicazione venga venduta o distribuita.


L'analisi del codice sorgente è sinonimo di analisi del codice statico, in cui il codice sorgente viene analizzato semplicemente come codice e il programma non è in esecuzione. Ciò elimina la necessità di creare e utilizzare casi di test e può separarsi da bug specifici delle funzionalità come pulsanti di colore diverso rispetto a quanto indicato nelle specifiche. Si concentra sulla ricerca di errori nel programma che potrebbero essere dannosi per la sua corretta funzione come linee di codice che causano arresti anomali.

Un'introduzione a Microsoft Azure e Microsoft Cloud | In questa guida imparerai cos'è il cloud computing e in che modo Microsoft Azure può aiutarti a migrare e gestire la tua azienda dal cloud.

Techopedia spiega l'analisi del codice sorgente

L'analisi del codice sorgente è sostanzialmente il debug automatico del codice. L'obiettivo è trovare bug e guasti che potrebbero non essere ovvi per un programmatore. Ha lo scopo di trovare guasti come possibili overflow del buffer o uso disordinato di puntatori e uso improprio delle funzioni di garbage collection, che possono essere sfruttate da un hacker.


Gli analizzatori di codice funzionano utilizzando regole che indicano cosa cercare. Con troppa precisione, un analizzatore potrebbe rivelare troppi falsi positivi e inondare l'utente di avvertimenti inutili, mentre troppa precisione potrebbe richiedere troppo tempo per terminare; pertanto, deve essere un equilibrio.

Esistono due tipi di analizzatori:

  • Interprocedurale: rileva i pattern da una funzione all'altra e questi pattern sono correlati in modo che l'analizzatore possa creare un modello e simulare percorsi di esecuzione.

  • Intraprocedurale: si concentra sulla corrispondenza dei motivi e dipende dal tipo di motivi che l'utente sta cercando.

Gli analizzatori interprocedurali sono più moderni e più complessi. Ne sono un buon esempio Coverity, Fortify e lo strumento centralizzato PREfix di Microsoft.