El experto en software Uecker ha presentado en la conferencia Kernel Recipes una propuesta para mitigar el comportamiento indefinido en el lenguaje C, un problema que ha generado inconsistencias en la compilación y seguridad. Aunque C sigue siendo una herramienta valiosa por su portabilidad y velocidad, su estándar actual permite a los compiladores ignorar errores difíciles de detectar, lo que lleva a resultados impredecibles. Uecker explica que el estándar C89 definió el comportamiento mediante una máquina abstracta, dejando gran libertad a los implementadores, lo que ha resultado en ambigüedades, como en el manejo de bytes de relleno en estructuras o la división por cero. Para abordar esto, el comité C ha creado grupos de estudio enfocados en la seguridad de la memoria y el comportamiento indefinido. Actualmente, el borrador C23 ha eliminado 45 de las aproximadamente 100 instancias de comportamiento indefinido presentes en el estándar. Además, se han desarrollado herramientas avanzadas, incluyendo analizadores estáticos integrados en GCC y sanitizadores de tiempo de ejecución, que detectan y corrigen estos errores. El objetivo es transformar C en un lenguaje más seguro, mejorando la seguridad espacial mediante comprobaciones de límites y la temporal mediante restricciones de ejecución, aunque aún persisten desafíos en la verificación de tipos entre unidades de traducción.
