AWS anunció hoy que CodeGuru, un conjunto de herramientas que utilizan el aprendizaje automático para revisar automáticamente el código en busca de errores y sugerir posibles optimizaciones, ahora está generalmente disponible. La herramienta se lanzó en la vista previa en AWS re: Invent en diciembre pasado.
CodeGuru consta de dos herramientas, Reviewer y Profiler, y esos nombres describen exactamente lo que hacen. Para construir Reviewer, el equipo de AWS realmente entrenó su algoritmo con la ayuda del código de más de 10,000 proyectos de código abierto en GitHub, así como las revisiones de la propia base de código interna de Amazon.
“Incluso para una organización grande como Amazon, es un desafío tener suficientes desarrolladores experimentados con suficiente tiempo libre para hacer revisiones de código, dada la cantidad de código que se escribe todos los días”, señala la compañía en el anuncio de hoy. “E incluso los revisores más experimentados pierden problemas antes de que afecten a las aplicaciones orientadas al cliente, lo que genera errores y problemas de rendimiento”.
Para usar CodeGuru, los desarrolladores continúan enviando su código a su repositorio de elección, sin importar si es GitHub, Bitbucket Cloud, el propio CodeCommit de AWS u otro servicio. CodeGuru Reviewer analiza ese código, trata de encontrar errores y, si lo hace, también ofrecerá posibles soluciones. Todo esto se realiza dentro del contexto del repositorio de código, por lo que CodeGuru creará una solicitud de extracción de GitHub, por ejemplo, y agregará un comentario a esa solicitud de extracción con más información sobre el error y las posibles soluciones.
Para entrenar el modelo de aprendizaje automático, los usuarios también pueden proporcionarle a CodeGuru algunos comentarios básicos, aunque aquí estamos hablando principalmente de “pulgares arriba” y “pulgares abajo”.
CodeGuru Application Profiler tiene una misión algo diferente. Su objetivo es ayudar a los desarrolladores a descubrir dónde podría haber algunas ineficiencias en su código e identificar las líneas de código más caras. Esto incluye soporte para plataformas sin servidor como AWS Lambda y Fargate.
Una característica que el equipo agregó desde que anunció CodeGuru por primera vez es que Profiler ahora asigna una cantidad estimada en dólares a las líneas de código no optimizado.
“Nuestros clientes desarrollan y ejecutan muchas aplicaciones que incluyen millones y millones de líneas de código. Asegurar la calidad y eficiencia de ese código es increíblemente importante, ya que los errores e ineficiencias en incluso unas pocas líneas de código pueden ser muy costosos. Hoy en día, los métodos para identificar problemas de calidad del código son largos, manuales y propensos a errores, especialmente a escala “, dijo Swami Sivasubramanian, vicepresidente de Amazon Machine Learning, en el anuncio de hoy. “CodeGuru combina las décadas de experiencia de Amazon en el desarrollo e implementación de aplicaciones a escala con una considerable experiencia en aprendizaje automático para brindar a los clientes un servicio que mejore la calidad del software, deleite a sus clientes con un mejor rendimiento de la aplicación y elimine sus líneas de código más caras”.
AWS dice que varias compañías comenzaron a usar CodeGuru durante el período de vista previa. Estos incluyen los gustos de Atlassian, EagleDream y DevFactory.
“Si bien las revisiones de código de nuestro equipo de desarrollo hacen un gran trabajo para evitar que los errores lleguen a la producción, no siempre es posible predecir cómo se comportarán los sistemas bajo estrés o administrar formas de datos complejas, especialmente porque tenemos múltiples implementaciones por día”, dijo Zak Islam , jefe de Ingeniería, Equipos Técnicos, en Atlassian. “Cuando detectamos anomalías en la producción, hemos podido reducir el tiempo de investigación de días a horas y, a veces, minutos, gracias a la función de creación de perfiles continua de Amazon CodeGuru. Nuestros desarrolladores ahora concentran más de su energía en ofrecer capacidades diferenciadas y menos tiempo investigando problemas en nuestro entorno de producción “.
Source link