Las empresas que utilizan inteligencia artificial para generar código están experimentando tiempos de inactividad y problemas de seguridad. El equipo de Sonar, un proveedor de productos de seguridad y calidad de código, ha escuchado historias de primera mano de interrupciones constantes incluso en importantes instituciones financieras donde los desarrolladores responsables del código culpan a la IA. Entre muchas otras imperfecciones, las herramientas de IA no son perfectas para generar código. Los investigadores de la Universidad Bilkent descubrieron que las últimas versiones de ChatGPT, GitHub Copilot y Amazon CodeWhisperer generaron código correcto solo el 65,2 %, el 46,3 % y el 31,1 % del tiempo, respectivamente. Parte del problema es que la IA es notoriamente mala en matemáticas porque le cuesta entender la lógica. Además, los programadores no son conocidos por ser buenos escribiendo indicaciones porque «la IA no hace las cosas de manera consistente ni funciona como código», según el profesor de IA de Wharton Ethan Mollick. VEA: OpenAI presenta el modelo «Strawberry», optimizado para codificación y matemáticas complejas ¿Podrían ser las «revisiones insuficientes» un factor? A finales de 2023, más de la mitad de las organizaciones afirmaron que se habían encontrado con problemas de seguridad con un código mal generado por IA «a veces» o «con frecuencia», según una encuesta de Snyk. Pero el problema podría empeorar, ya que el 90% de los ingenieros de software empresarial utilizarán asistentes de código de IA en 2028, según Gartner. Tariq Shaukat, director ejecutivo de Sonar y expresidente de Bumble y Google Cloud, ya está «escuchando cada vez más sobre esto». En una entrevista con TechRepublic, dijo: «Las empresas están implementando herramientas de generación de código de IA con mayor frecuencia, y el código generado se está poniendo en producción, lo que provoca interrupciones y/o problemas de seguridad. «En general, esto se debe a revisiones insuficientes, ya sea porque la empresa no ha implementado prácticas sólidas de calidad y revisión de código, o porque los desarrolladores están examinando el código escrito por IA menos de lo que examinarían su propio código. “Cuando se les pregunta sobre la IA con errores, un estribillo común es ‘no es mi código’, lo que significa que se sienten menos responsables porque no lo escribieron”. VEA: El 31% de las organizaciones que utilizan IA generativa le piden que escriba código (2023) Destacó que esto no se debe a una falta de cuidado por parte del desarrollador, sino más bien a una falta de interés en «editar el código» además de que los procesos de control de calidad no están preparados para la velocidad de adopción de la IA. Más cobertura de IA de lectura obligada El efecto «laissez-faire» Además, un estudio de 2023 de la Universidad de Stanford que analizó cómo los usuarios interactúan con los asistentes de código de IA descubrió que quienes los usan «escribieron un código significativamente menos seguro», pero eran «más propensos a creer que escribieron código seguro». Esto sugiere que simplemente por usar herramientas de IA, los programadores adoptarán automáticamente una actitud más laissez-faire para revisar su trabajo. Es parte de la naturaleza humana sentirse tentado por un atajo más fácil, en particular cuando se está bajo presión por parte de un gerente o de un cronograma de lanzamiento, pero depositar la confianza plena en la IA puede tener un impacto en la calidad de las revisiones de código y en la comprensión de cómo el código interactúa con una aplicación. La interrupción del servicio de CrowdStrike en julio puso de relieve lo generalizada que puede ser la interrupción si falla un sistema crítico. Si bien ese incidente no estaba relacionado específicamente con el código generado por IA, la causa de la interrupción fue un error en el proceso de validación, que permitió que se implementaran «datos de contenido problemáticos». Esto demuestra la importancia de un elemento humano al examinar contenido crítico. Los desarrolladores tampoco desconocen los posibles peligros del uso de la IA en su trabajo. Según un informe de Stack Overflow, solo el 43% de los desarrolladores confía en la precisión de las herramientas de IA, solo un 1% más que en 2023. La calificación de favorabilidad de la IA entre los desarrolladores también cayó del 77% el año pasado al 72% este año. Pero, a pesar del riesgo, los departamentos de ingeniería no se han visto disuadidos de usar herramientas de codificación de IA, en gran parte debido a los beneficios de eficiencia. Una encuesta de Outsystems descubrió que más del 75% de los ejecutivos de software redujeron su tiempo de desarrollo hasta la mitad gracias a la automatización impulsada por IA. También está haciendo más felices a los desarrolladores, dijo Shaukat a TechRepublic, porque dedican menos tiempo a tareas rutinarias. ¿Qué es la «rotación de código»? El ahorro de tiempo por las ganancias de productividad podría compensarse con el esfuerzo necesario para solucionar los problemas causados ​​por el código generado por IA. Los investigadores de GitClear inspeccionaron 153 millones de líneas de código escritas originalmente entre enero de 2020 y diciembre de 2023, cuando se disparó el uso de asistentes de codificación de IA, que habían sido alteradas de alguna manera. Observaron un aumento en la cantidad de código que tuvo que ser corregido o revertido menos de dos semanas después de su creación, lo que se denomina «rotación de código», que indica inestabilidad. Los investigadores proyectan que los casos de rotación de código se duplicarán en 2024 con respecto a la línea de base anterior a la IA de 2021 y que más del 7% de todos los cambios de código se revertirán en dos semanas. Además, durante el período de estudio, el porcentaje de código copiado y pegado también aumentó notablemente. Esto va en contra del popular mantra «DRY» o «Don’t Repeat Yourself» entre los programadores, ya que el código repetido puede llevar a un mayor mantenimiento, errores e inconsistencia en una base de código. Pero, sobre si los ahorros de tiempo de productividad asociados con los asistentes de código de IA se están anulando por las operaciones de limpieza, Shaukat dijo que es demasiado pronto para decirlo. VER: Las mejores herramientas de seguridad para desarrolladores «Nuestra experiencia es que los desarrolladores típicos aceptan sugerencias de los generadores de código aproximadamente el 30% del tiempo. Eso es significativo», dijo. «Cuando el sistema está diseñado correctamente, con las herramientas y los procesos adecuados, cualquier trabajo de limpieza es manejable». Sin embargo, los desarrolladores aún deben rendir cuentas por el código que envían, especialmente cuando se utilizan herramientas de IA. Si no lo son, es cuando el código que causa el tiempo de inactividad se escapará. Shaukat dijo a TechRepublic: “Los directores ejecutivos, los directores de sistemas y otros líderes corporativos deben analizar sus procesos a la luz del mayor uso de la IA en la generación de código y priorizar la adopción de las medidas de seguridad necesarias. “Donde no puedan hacerlo, verán interrupciones frecuentes, más errores, una pérdida de productividad de los desarrolladores y mayores riesgos de seguridad. Las herramientas de IA están diseñadas para ser confiables y verificadas”.