
Proyectos de AI Lab
Infórmate sobre la innovación revolucionaria en IA con laboratorios prácticos, recursos de código y exploraciones a fondo.
Code Defect AI
Altran desarrolló un clasificador de aprendizaje automático que predice qué archivos de código fuente tienen un mayor probabilidad de contener errores. Los desarrolladores reciben la explicación y los factores que justifican la predicción específica.
Infórmate sobre Code Defect AI
La necesidad
Los errores son un hecho inevitable para el desarrollo de software. Cuanto más se tarda en encontrar un defecto en el ciclo de desarrollo, mayor es el costo para corregirlo. Si un defecto se encuentra después de la implementación, se ven afectados los clientes, y los desarrolladores gastan más tiempo en replicar el problema y, posteriormente, en entregar la corrección. Este proceso de error, análisis y corrección es lento y costoso.
La idea
Algunos patrones de la base de código de un proyecto de software tienen un riesgo mayor de introducir errores. Estos patrones se pueden aprender mediante un algoritmo de aprendizaje de clasificación para predecir la posibilidad de que un archivo tenga un error. Esto permite detectar el defecto antes, lo cual minimiza el costo para corregir los errores.
La solución
Se crean modelos de clasificación personalizados para proyectos de GitHub en función de los metadatos asociados con las publicaciones históricas. Cuando Code Defect AI descubre nuevas confirmaciones de los desarrolladores, predice si algún archivo modificado corre el riesgo de generar defectos. La justificación detrás de la predicción se presenta mediante explicaciones localmente interpretables independientes del modelo (LIME) para que los desarrolladores puedan confiar y aprender de la predicción.
Detectar errores antes de la implementación
El software se desarrolla mediante muchos ciclos de codificación, pruebas, búsqueda de errores y más codificación para corregir. Altran y Microsoft implementaron modelos de aprendizaje automático en Azure para identificar antes el riesgo de errores en el desarrollo con menos ciclos, lo cual ahorra tiempo y dinero.
Detalles técnicos para el experimento de Code Defect AI
El aprendizaje automático supervisado permite que los algoritmos predigan un resultado a partir de ejemplos históricos de pares de entrada y salida, es decir, datos etiquetados. El aprendizaje supervisado se denomina problema de clasificación si la variable de salida es una variable discreta. Algunos patrones de la base de código de un proyecto de software tienen un riesgo mayor de introducir errores. Por ejemplo, si un desarrollador nuevo realiza cambios en un archivo que históricamente tiene una mayor incidencia de errores, si una confirmación implica archivos en varios directorios o si la actualización de código se distribuye por varias regiones del archivo. Estos patrones se pueden aprender mediante un algoritmo de aprendizaje de clasificación para predecir la posibilidad de que un archivo en una confirmación tenga un error. Esto permite desplazar la detección de defectos a la izquierda y minimizar así el costo de la corrección de defectos.
Se crearon tres modelos de clasificación personalizados para tres proyectos de GitHub en función de los metadatos asociados con las confirmaciones históricas. Se crearon datos etiquetados para el modelo de entrenamiento con los metadatos recopilados del repositorio de GitHub. Cuando Code Defect AI descubre nuevas confirmaciones de los desarrolladores, obtiene los metadatos y los archivos de cada una de estas. Luego predice si alguno de los archivos de la confirmación conllevan el riesgo de tener un error utilizando el modelo específico del proyecto. Los modelos de aprendizaje automático tradicionales funcionan como cajas negras y la lógica detrás de la predicción del modelo no está disponible. Presentamos la lógica detrás de la predicción por medio de explicaciones localmente interpretables independientes del modelo (LIME) para que los usuarios adquieran más confianza en la predicción.
Recursos:

Sketch2Code
Sketch2Code convierte dibujos manuscritos en prototipos en HTML. Los diseñadores comparten ideas en una pizarra y los cambios aparecen instantáneamente en el navegador, lo que ayuda a mejorar la colaboración entre el diseñador, el programador y el cliente.

JFK Files
JFK Files extrae información legible a partir de 34 000 archivos complejos como fotos, texto manuscrito, documentos gubernamentales y mucho más. Este conocimiento se organiza para poder explorar la información de maneras novedosas.

Spektacom
Spektacom usa un sensor miniaturizado adhesivo en un bate de críquet para obtener información sobre la calidad, la velocidad, la torsión y el golpe del bate. Estos datos se utilizan para analizar la calidad del tiro a fin de ayudar a los profesionales, aficionados y entrenadores a mejorar el nivel.

PoseTracker
PoseTracker usa el aprendizaje profundo para realizar un seguimiento de la posición y orientación de los objetos. Esta solución utilizará la cámara del teléfono para medir y seguir el ángulo, la orientación y la distancia de un artículo en tiempo real.
Explora las posibilidades de la AI
Convierte hoy la inteligencia artificial en una realidad para tu empresa.

Crea soluciones innovadoras de AI
Descubre Azure AI, una cartera de servicios de AI diseñados para los desarrolladores y los científicos de datos. Aprovecha las décadas de investigación de punta, las prácticas de AI responsable y la flexibilidad que ofrece Azure AI para que crees e implementes tus propias soluciones de AI.