Debugging

Cos’è

Il debugging è il processo o l’attività di trovare e risolvere bug (o errori) all’interno di programmi, software o sistemi per arrivare al risultato desiderato. Un bug è un difetto o un problema che conduce a un risultato sbagliato o inaspettato.

Quali problematiche affronta

Lo sviluppo software è un’attività complessa che rende quasi impossibile scrivere codice senza introdurre dei bug. Questi bug porteranno ad avere un codice che non funzionerà come si desidera (comportamento indefinito) quando viene eseguito. A seconda di quanto è cruciale un’applicazione, i bug possono avere un impatto significativamente negativo, che si parli di aspetti finanziari o persino di vite umane. Di solito, il codice di un’applicazione deve passare da diverse tappe o ambienti nei quali viene testato. Più è importante un’applicazione, più deve essere accurata la fase di test.

In che modo aiuta

Quando si scopre un bug, gli ingegneri devono eseguire il debug (ad esempio l’individuazione e la risoluzione di bug) dell’applicazione per diminuire i comportamenti indesiderati di sistemi in produzione. Il debugging non è un’attività semplice, in quanto gli sviluppatori devono rintracciare l’origine del comportamento indesiderato. È richiesta la conoscenza del codice stesso e del contesto di esecuzione. È qui che si rivelano utili diverse tecniche e strumenti di debug. L’analisi dei log, delle tracce e delle metriche, per esempio, sono utilizzate per eseguire il debugging direttamente in produzione. Gli sviluppatori possono utilizzare il debug interattivo per analizzare il codice in fase di esecuzione e il relativo contesto di esecuzione. Una volta identificata la fonte del guasto, correggono il codice e creano una correzione del bug o una patch.