Microsoft y Altran lanzan Code Defect AI para identificar posibles problemas en el desarrollo de software y sugerir soluciones.
Altran ha lanzado una nueva herramienta que utiliza inteligencia artificial (IA) para ayudar a los ingenieros de software a detectar errores durante el proceso de codificación en lugar de al final.
Disponible en GitHub, Code Defect AI utiliza el aprendizaje automático (ML) para analizar el código existente, detectar posibles problemas en el nuevo código y sugerir pruebas para diagnosticar y corregir los errores.
Walid Negm, director de innovación del grupo en Altran, dijo que esta nueva herramienta ayudará a los desarrolladores a liberar código de calidad rápidamente.
«El ciclo de lanzamiento de software necesita algoritmos que puedan ayudar a hacer juicios estratégicos, especialmente a medida que el código se vuelve más complejo», dijo en un comunicado de prensa.
Code Defect AI utiliza varias técnicas de ML que incluyen bosques de decisión aleatorios, máquinas de vectores de soporte, perceptrón multicapa (MLP) y regresión logística. La plataforma extrae, procesa y etiqueta datos históricos para entrenar el algoritmo y construir un modelo de decisión confiable. Los desarrolladores pueden usar un puntaje de confianza de Code Defect AI que predice si el código cumple o no.

Así es como funciona la IA de defectos de código :
- Para un proyecto de código abierto de GitHub, los datos históricos se recopilan mediante interfaces RESTFul y Git CLI. Estos datos incluyen el historial de confirmación completo y el historial de errores completo.
- Las técnicas de preprocesamiento como la identificación de características, la codificación de etiquetas, una codificación activa, el escalado de datos y la normalización se aplican a los datos de confirmación históricos recopilados.
- El etiquetado se realiza en los datos preprocesados. El proceso de etiquetado implica la comprensión del patrón en el que las confirmaciones de arreglos (donde se ha cerrado un error) se etiquetan para cada uno de los problemas cerrados. Después de que se recopilan las confirmaciones de arreglos, las confirmaciones que introdujeron los errores se identifican haciendo un seguimiento de los cambios históricos para cada archivo en una confirmación de arreglos.
- Si un conjunto de datos contiene una cantidad muy pequeña de datos de errores en comparación con los registros limpios, también se generan datos sintéticos para evitar sesgos hacia la clase mayoritaria.
- Se entrenan múltiples algoritmos de modelado sobre los datos preparados.
- Una vez que hay un modelo que tiene un valor aceptable de precisión y recuperación, el modelo seleccionado se implementa para la predicción de nuevos compromisos.
Code Defect AI admite la integración con herramientas de análisis de terceros y puede ayudar a identificar errores en un código de programa determinado. Además, la herramienta AI de defectos de código permite a los desarrolladores evaluar qué características del código deberían tener mayor prioridad en términos de corrección de errores.
«Microsoft y Altran han estado trabajando juntos para mejorar el ciclo de desarrollo de software, y Code Defect AI, con tecnología de Microsoft Azure, es una herramienta innovadora que puede ayudar a los desarrolladores de software a través del aprendizaje automático», dijo David Carmona, gerente general de IA marketing en Microsoft, en un comunicado de prensa.
Code Defect AI se puede alojar en las instalaciones, así como en plataformas de computación en la nube como Microsoft Azure . La solución se puede integrar con otras herramientas de administración de código fuente según sea necesario.

Empleado de IA se une al equipo de desarrollo
En un nuevo informe sobre inteligencia artificial y desarrollo de software, Deloitte predice que cada vez más empresas utilizarán herramientas de codificación asistidas por IA. Desde enero de 2018 hasta septiembre de 2019, los proveedores de software lanzaron docenas de herramientas de desarrollo de software y nuevas empresas que funcionan con inteligencia artificial que trabajan en este espacio, y recaudaron $ 704 millones en un período de tiempo similar.
El mayor beneficio de estas plataformas es la eficiencia
según los analistas de Deloitte David Schatsky y Sourabh Bumb, los autores de » AI está ayudando a hacer un mejor software :»
«Los beneficios de la codificación asistida por AI son numerosos. Sin embargo, el principal beneficio para las empresas es eficiencia. Muchas de las nuevas herramientas basadas en inteligencia artificial funcionan de manera similar a los correctores ortográficos y gramaticales, lo que permite a los codificadores reducir la cantidad de pulsaciones de teclas que necesitan escribir en aproximadamente un 50%. También pueden detectar errores mientras se ejecuta el código escrito, aunque también pueden automatizar hasta la mitad de las pruebas necesarias para confirmar la calidad del software «.

Esta capacidad es aún más importante ya que las compañías continúan confiando en el código de código abierto.
El informe Deloitte puede acelerar el proceso de codificación significativamente al «reducir la cantidad de pulsaciones de teclas que los desarrolladores necesitan escribir a la mitad, detectar errores incluso antes de la revisión o prueba del código, y generar automáticamente la mitad de las pruebas necesarias para garantizar la calidad».
Según el informe, estas herramientas son las más adecuadas para estos elementos del proceso de desarrollo de software:
- Requerimientos del proyecto
- Codificación, revisión y detección de errores, y resolución
- Pruebas más exhaustivas
- Despliegue
- Gestión de proyectos