Un errore logico è un problema con il codice di programmazione di un computer che non è facilmente identificato quando il codice viene scritto o compilato. A volte chiamato errore semantico, un errore logico generalmente è colpa del programmatore; anche se la codifica è corretta, la risposta risultante potrebbe essere ancora errata. Se il compilatore del linguaggio di programmazione viene fornito con un errore logico, interpreterà correttamente il codice fornito, risultando in un programma funzionante che potrebbe restituire dati errati.
Gli errori logici sono difficili da rilevare dal programmatore perché l’interprete del linguaggio di programmazione non identifica questo errore come un problema. Dopo che il codice è stato eseguito con successo, i risultati, senza un esame deliberato, potrebbero inizialmente sembrare corretti. Per identificare questi tipi di errori, una persona che è a conoscenza dei risultati attesi e della funzione del programma dovrebbe rivedere l’output e il funzionamento di quel programma.
Per trovare un errore logico nel codice, è necessario essere in grado di tracciare metodicamente l’origine dell’errore. L’errore potrebbe essere il risultato di una sintassi codificata in modo errato. La sintassi del codice potrebbe sembrare corretta ma potrebbe causare un errore logico. Questi tipi di errori potrebbero diventare problemi molto costosi se non vengono corretti in modo tempestivo.
Gli errori logici possono anche derivare da dati errati che sono stati utilizzati da un programma scritto correttamente senza errori logici interni propri. Questo è equivalente all’espressione comune “garbage in, garbage out”. Se i dati vengono inseriti in modo errato nel programma, anche se il programma viene eseguito correttamente, il risultato è un errore rispetto a quanto previsto.
Come esempio di un altro tipo di errore logico, mentre si trova a un segnale di stop, un conducente potrebbe scegliere di svoltare a destra o girare a sinistra. Se il conducente gira a destra quando la destinazione prevista era a sinistra, questo sarebbe considerato un errore logico. Tecnicamente, l’autista ha guidato correttamente il veicolo, ma il risultato finale non è stato quello previsto. Come illustrato in questo esempio, gli errori nella logica non sono limitati al regno della programmazione del computer. Un errore logico potrebbe anche essere classificato come un errore per quanto riguarda le comunicazioni.
In un altro esempio in cui esistono errori logici, i word processor potrebbero talvolta utilizzare un correttore ortografico automatico; questi correttori ortografici sono noti per la mancanza di errori logici. Ad esempio, il sostantivo “vendita” potrebbe essere travisato dal sostantivo “vela” in una frase. Ogni parola è scritta correttamente, suona correttamente e potrebbe essere grammaticalmente corretta all’interno della frase, ma la definizione di una parola potrebbe non adattarsi al contesto della particolare frase.