Casa Sviluppo Cos'è l'analisi del codice sorgente? - definizione da techopedia

Cos'è l'analisi del codice sorgente? - definizione da techopedia

Sommario:

Anonim

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 i guasti e risolverli prima che l'applicazione venga venduta o distribuita.

L'analisi del codice sorgente è sinonimo dell'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.

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 una precisione troppo ridotta, 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.

Cos'è l'analisi del codice sorgente? - definizione da techopedia