Inteligencia Artificial

La inteligencia artificial (IA) 


Está teniendo un impacto en todos los sectores y procesos digitales tan profundo como difícil de cuantificar. El segmento de desarrollo de software no es ninguna excepción. Como han indicado expertos sectoriales, cada aspecto del ciclo de desarrollo de software va a beneficiarse de la implantación de herramientas de inteligencia artificial y tecnologías de aprendizaje automático. Desde predecir el calendario de un proyecto y la estimación de plazos de entrega de software hasta la detección de errores de programación, e incluso asistentes de programación y pruebas. La inteligencia artificial y el aprendizaje automático ya ofrecen una inestimable ayuda a los programadores.

La inteligencia artificial y el aprendizaje automático hasta ahora solo se han utilizado a través de algunas herramientas creadas con propósitos concretos de desarrollo. En los próximos años, los paquetes de Software como Servicio (SaaS) comenzarán a incorporar inteligencia artificial y aprendizaje automático. Los servicios en la nube ya utilizan algoritmos basados en inteligencia artificial, y ha llegado el momento de que las herramientas de inteligencia artificial comiencen a ofrecerse a través de servicios basados en suscripciones.

INTEGRACIÓN DE IA EN EL PROCESO DE DESARROLLO DE SOFTWARE

Antes de explicar los beneficios reales de la IA para los procesos de desarrollo de software, conviene echar un vistazo a algunos de los casos más recientes de integración de la IA en el ciclo de desarrollo de software.

Google bugspot tool w3C: debido al volumen de cambios de código que pueden llegar a acumularse a lo largo de un mes, así como al incremento del tamaño de las bases de código y de los equipo de desarrolladores, hacer un seguimiento de los errores de programación se está convirtiendo en una tarea cada vez más complicada. Esta herramienta de predicción de errores de Google aplica algoritmos de aprendizaje automático y análisis estadístico profundo para detectar errores y líneas poco fiables de código. La herramienta permite utilizar una variedad de métricas efectivas para detectar fallos, incluidas dependencias, líneas de código, etc.   
Stack Overflow AutoComplete: esta herramienta de autocompletar en la popular plataforma Stack Overflow se ha convertido en uno de los mejores exponentes de cómo incorporar funcionalidades de inteligencia artificial a una herramienta de desarrollo de software. La herramienta de Stack Exchange ofrece opciones para autocompletar líneas de código plenamente funcionales a partir de los datos de código existentes y las intenciones del desarrollador.
Deep Code: Una startup de Zúrich ha desarrollado DeepCode, una herramienta de programación que funciona como asistente de código para proyectos de desarrollo de software. Esta herramienta es capaz de aprender a partir de un gran número de reglas de programación – unas 250.000 – a las que accede a través de repositorios públicos y privados de GitHub. En función de estas reglas y del contexto adecuado, la herramienta sugiere posibles maneras de arreglar el código a los programadores. Ya es considerada una herramienta beneficiosa para la subsanación de errores y optimización de código.