Static Code Analysis

In questa fase vengono identificate possibili vulnerabilità all’interno del codice sorgente cercando pattern riconducibili a bug improbabili da individuare tramite test dinamici (Dynamic Analysis).

L’analisi viene effettuata tramite l’utilizzo dei seguenti tool:

Il tool SpotBugs viene utilizzato fin dalle fasi di sviluppo dai programmatori tramite il plugin per Eclipse come descritto nella sezione SpotBugs Eclipse Plugin.

Dopo aver lavorato su un branch dedicato alla realizzazione di una nuova funzionalità o di un bug fix, prima di riportare il lavoro sul master i sorgenti soggetti a modifica vengono verificati anche tramite il tool SonarQube (SonarLint Eclipse Plugin).

Ad ogni commit sul master dei sorgenti del progetto viene effettuata automaticamente una verifica dei sorgenti nell’ambiente di Continuous Integration Jenkins di GovWay utilizzando entrambi i tools. Maggiori dettagli vengono forniti nelle sezioni SpotBugs Warnings Jenkins Plugin e SonarQube Jenkins Plugin.

Infine effettuato il checkout dei sorgenti del progetto GovWay, è sempre possibile avviare manualmente una analisi statica tramite uno dei tool seguendo le indicazioni fornite nelle sezioni SpotBugs Maven Plugin e SonarQube Maven Plugin.

Nota

I problemi di sicurezza relativi alle librerie terza parte utilizzate sono trattati separatamente con il lavoro di analisi descritto nella sezione Third Party Dependency Analysis e di conseguenza il codice sorgente di tali librerie è escluso dall’analisi del codice statico.