LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Los informáticos de Google han estado utilizando los LLM para agilizar las migraciones de código interno, logrando un ahorro de tiempo significativo de hasta el 89 % en algunos casos . Los hallazgos aparecen en un artículo preimpreso titulado "¿Cómo utiliza Google la IA para las migraciones de código interno?".

The Register informa: Su enfoque se centra en herramientas de IA a medida desarrolladas para áreas de productos específicas, como anuncios, búsqueda, espacio de trabajo y YouTube, en lugar de herramientas de IA genéricas que brindan servicios de amplia aplicación como finalización de código, revisión de código y respuesta a preguntas. Las migraciones de código de Google implicaron: cambiar los identificadores de 32 bits en la base de código de más de 500 millones de líneas para Google Ads a identificadores de 64 bits; convertir su antigua biblioteca de pruebas JUnit3 a JUnit4; y reemplazar la biblioteca de tiempo Joda con el paquete java.time estándar de Java. La migración de int32 a int64, explican los empleados de Google, no fue trivial ya que los identificadores a menudo se definían de manera genérica (int32_t en C++ o Integer en Java) y no se podían buscar fácilmente.

Existían en decenas de miles de ubicaciones de código en miles de archivos. Los cambios debían rastrearse en varios equipos y los cambios en las interfaces de clase debían considerarse en varios archivos. "Se esperaba que el esfuerzo completo, si se hacía manualmente, requiriera cientos de años de ingeniería de software y una compleja coordinación entre equipos", explican los autores.

Para su flujo de trabajo basado en LLM, los ingenieros de software de Google implementaron el siguiente proceso. Un ingeniero de Ads identificaba un ID que necesitaba migración mediante una combinación de búsqueda de código, Kythe y scripts personalizados. Luego, se ejecutaba un kit de herramientas de migración basado en LLM, activado por alguien con conocimientos en la materia, para generar cambios verificados que contenían código que pasaba las pruebas unitarias. El mismo ingeniero verificaba manualmente esos cambios y, potencialmente, los corregía. A continuación, los cambios de código se enviaban a varios revisores que son responsables de la parte de la base de código afectada por los cambios. El resultado fue que el 80 por ciento de las modificaciones de código en las listas de cambios (CL) eran puramente producto de la IA; el resto eran sugerencias de IA creadas o editadas por humanos.

"Descubrimos que, en la mayoría de los casos, el humano necesitaba revertir al menos algunos cambios que el modelo hizo que eran incorrectos o innecesarios", observan los autores. "Dada la complejidad y la naturaleza sensible del código modificado, se debe dedicar un esfuerzo a implementar cuidadosamente cada cambio para los usuarios". En base a esto, Google emprendió un trabajo adicional en la verificación impulsada por LLM para reducir la necesidad de una revisión detallada. Incluso con la necesidad de volver a verificar el trabajo de LLM, los autores estiman que el tiempo necesario para completar la migración se redujo en un 50 por ciento. Con la ayuda de LLM, tomó solo tres meses migrar 5,359 archivos y modificar 149,000 líneas de código para completar la transición de JUnit3 a JUnit4. Aproximadamente el 87 por ciento del código generado por IA terminó siendo enviado sin cambios. En cuanto al cambio de marco de tiempo de Joda a Java, los autores estiman un ahorro de tiempo del 89 por ciento en comparación con el tiempo de cambio manual proyectado, aunque no se proporcionaron detalles para respaldar esa afirmación.

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías