Un error lógico es un problema con el código de programación de una computadora que no se identifica fácilmente cuando se escribe o compila el código. A veces llamado error semántico, un error lógico generalmente es culpa del programador; incluso si la codificación es correcta, la respuesta resultante podría ser incorrecta. Si el compilador del lenguaje de programación recibe un error lógico, interpretará correctamente el código proporcionado, lo que dará como resultado un programa que funcione y que podría devolver datos defectuosos.
Los errores lógicos son difíciles de detectar por el programador porque el intérprete del lenguaje de programación no identifica este error como un problema. Una vez que el código se ejecuta con éxito, los resultados, sin un examen deliberado, pueden parecer inicialmente correctos. Para identificar este tipo de errores, una persona que conozca los resultados esperados y la función del programa debe revisar el resultado y el funcionamiento de ese programa.
Para encontrar un error lógico en el código, uno debe poder rastrear metódicamente la fuente del error. El error puede ser el resultado de una sintaxis codificada incorrectamente. La sintaxis del código puede parecer correcta, pero puede dar lugar a un error lógico. Este tipo de errores pueden terminar siendo problemas muy costosos si no se corrigen de manera oportuna.
Los errores lógicos también pueden resultar de datos defectuosos que fueron utilizados por un programa escrito correctamente sin ningún error lógico interno propio. Esto es equivalente a la expresión común «basura adentro, basura afuera». Si los datos se ingresan incorrectamente en el programa, incluso si el programa se ejecuta correctamente, el resultado es un error en comparación con lo esperado.
Como ejemplo de otro tipo de error lógico, mientras se encuentra en una señal de alto, un conductor puede optar por girar a la derecha o a la izquierda. Si el conductor gira a la derecha cuando el destino previsto estaba a la izquierda, esto se consideraría un error lógico. Técnicamente, el conductor operó el vehículo correctamente, pero el resultado final no fue el esperado. Como se ilustra en este ejemplo, los errores de lógica no se limitan al ámbito de la programación informática. Un error lógico también puede clasificarse como una falacia con respecto a las comunicaciones.
En otro ejemplo en el que existen errores lógicos, los procesadores de texto a veces pueden usar un corrector ortográfico automático; estos correctores ortográficos son conocidos por faltar errores de lógica. Por ejemplo, el sustantivo «venta» puede ser tergiversado por el sustantivo «navegar» en una oración. Cada palabra está escrita correctamente, suena correcta y puede ser gramaticalmente correcta dentro de la oración, pero la definición de una palabra puede no ajustarse al contexto de la oración en particular.