Un comportamiento indefinido (undefined behavior en inglés) en programación se refiere a la operación cuyo comportamiento es arbitrario. En los lenguajes de programación en los que se han definido comportamientos indefinidos las implementaciones pueden asumir que las operaciones que provocan un comportamiento indefinido nunca ocurren. Esta suposición hace válidas varias transformaciones del programa o simplifica las pruebas de validez dándole flexibilidad a la implementación del lenguaje. Es responsabilidad del programador escribir código que nunca invoque comportamientos indefinidos, pero la implementación del lenguaje tiene permitido mostrar mensajes de diagnóstico cuando esto suceda.

Property Value
dbo:abstract
  • Un comportamiento indefinido (undefined behavior en inglés) en programación se refiere a la operación cuyo comportamiento es arbitrario. En los lenguajes de programación en los que se han definido comportamientos indefinidos las implementaciones pueden asumir que las operaciones que provocan un comportamiento indefinido nunca ocurren. Esta suposición hace válidas varias transformaciones del programa o simplifica las pruebas de validez dándole flexibilidad a la implementación del lenguaje. Es responsabilidad del programador escribir código que nunca invoque comportamientos indefinidos, pero la implementación del lenguaje tiene permitido mostrar mensajes de diagnóstico cuando esto suceda. La existencia de comportamientos indefinidos le permite al lenguaje omitir algunas comprobaciones como (en el caso de C) que el divisor no sea 0 o que el resultado de una suma de enteros sin signo no sea mayor al máximo valor admitido por ese tipo de enteros sin signo. Esto ahorra algunos ciclos del procesador cada vez que esas operaciones son invocadas y asigna la responsabilidad de hacer esas comprobaciones cuando sean relevantes al programador. Los efectos de la invocación de una operación que provoque un comportamiento indefinido pueden variar dependiendo de la arquitectura del procesador en la que se ejecute el programa, el cambio en cualquiera de los elementos de la cadena de herramientas (como el compilador), el sistema operativo, el contenido de la memoria, el momento de ejecución, etc. Entre los posibles efectos de la invocación de un comportamiento indefinido está la ejecución esperada del programa (lo que oculta el problema), el cierre inesperado del programa, corrupción de la memoria, resultados incorrectos, fallo irrecuperable del sistema informático, vulnerabilidades de seguridad, etc. Los comportamientos indefinidos no deben ser confundidos con los o los . (es)
  • Un comportamiento indefinido (undefined behavior en inglés) en programación se refiere a la operación cuyo comportamiento es arbitrario. En los lenguajes de programación en los que se han definido comportamientos indefinidos las implementaciones pueden asumir que las operaciones que provocan un comportamiento indefinido nunca ocurren. Esta suposición hace válidas varias transformaciones del programa o simplifica las pruebas de validez dándole flexibilidad a la implementación del lenguaje. Es responsabilidad del programador escribir código que nunca invoque comportamientos indefinidos, pero la implementación del lenguaje tiene permitido mostrar mensajes de diagnóstico cuando esto suceda. La existencia de comportamientos indefinidos le permite al lenguaje omitir algunas comprobaciones como (en el caso de C) que el divisor no sea 0 o que el resultado de una suma de enteros sin signo no sea mayor al máximo valor admitido por ese tipo de enteros sin signo. Esto ahorra algunos ciclos del procesador cada vez que esas operaciones son invocadas y asigna la responsabilidad de hacer esas comprobaciones cuando sean relevantes al programador. Los efectos de la invocación de una operación que provoque un comportamiento indefinido pueden variar dependiendo de la arquitectura del procesador en la que se ejecute el programa, el cambio en cualquiera de los elementos de la cadena de herramientas (como el compilador), el sistema operativo, el contenido de la memoria, el momento de ejecución, etc. Entre los posibles efectos de la invocación de un comportamiento indefinido está la ejecución esperada del programa (lo que oculta el problema), el cierre inesperado del programa, corrupción de la memoria, resultados incorrectos, fallo irrecuperable del sistema informático, vulnerabilidades de seguridad, etc. Los comportamientos indefinidos no deben ser confundidos con los o los . (es)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 6298218 (xsd:integer)
dbo:wikiPageLength
  • 3991 (xsd:integer)
dbo:wikiPageRevisionID
  • 127260873 (xsd:integer)
dct:subject
rdfs:comment
  • Un comportamiento indefinido (undefined behavior en inglés) en programación se refiere a la operación cuyo comportamiento es arbitrario. En los lenguajes de programación en los que se han definido comportamientos indefinidos las implementaciones pueden asumir que las operaciones que provocan un comportamiento indefinido nunca ocurren. Esta suposición hace válidas varias transformaciones del programa o simplifica las pruebas de validez dándole flexibilidad a la implementación del lenguaje. Es responsabilidad del programador escribir código que nunca invoque comportamientos indefinidos, pero la implementación del lenguaje tiene permitido mostrar mensajes de diagnóstico cuando esto suceda. (es)
  • Un comportamiento indefinido (undefined behavior en inglés) en programación se refiere a la operación cuyo comportamiento es arbitrario. En los lenguajes de programación en los que se han definido comportamientos indefinidos las implementaciones pueden asumir que las operaciones que provocan un comportamiento indefinido nunca ocurren. Esta suposición hace válidas varias transformaciones del programa o simplifica las pruebas de validez dándole flexibilidad a la implementación del lenguaje. Es responsabilidad del programador escribir código que nunca invoque comportamientos indefinidos, pero la implementación del lenguaje tiene permitido mostrar mensajes de diagnóstico cuando esto suceda. (es)
rdfs:label
  • Comportamiento indefinido (es)
  • Comportamiento indefinido (es)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is owl:sameAs of
is foaf:primaryTopic of