Hoy, la startup suiza , que utiliza inteligencia artificial y aprendizaje automático para automatizar el análisis de código, ha anunciado la obtención de 4 millones de dólares en inversiones de fondos de capital de riesgo Earlybird, 3VC y Btov Partners. La empresa planea destinar estos fondos para implementar soporte para nuevos lenguajes de programación en su servicio, así como para la comercialización del producto en el mercado global de TI.

El análisis de código es necesario para detectar errores, vulnerabilidades potenciales, violaciones de estilo de formato común y mucho más en las primeras etapas del desarrollo de software, antes de que el código sea utilizado en algún lugar. Normalmente, este procedimiento se lleva a cabo junto con el desarrollo de nuevo código y justo después de que se completa, precediendo la etapa de prueba. "Las pruebas de software examinan el código desde el exterior, pero el análisis de código te permite verlo desde el interior", explica el cofundador y director ejecutivo de DeepCode, Boris Paskalev, en una entrevista con VentureBeat.
Con mayor frecuencia, la revisión del código es realizada por sus autores junto con colegas y gerentes para identificar errores obvios antes de avanzar a las siguientes etapas del desarrollo. Y cuanto más grande es el proyecto, más líneas de código necesitan ser revisadas, lo que consume un tiempo considerable para los programadores. Herramientas que deben acelerar este proceso han existido durante bastante tiempo, como los analizadores de código estáticos como Coverity y PVS-Studio, pero, en general, están limitadas en sus capacidades, ya que se centran en "problemas de estilo irritantes y recurrentes, formateo y pequeños errores lógicos", explica Paskalev.
DeepCode, por su parte, abarca un rango más amplio de problemas, como la detección de vulnerabilidades como las oportunidades para el scripting entre sitios y las inyecciones SQL, ya que los algoritmos incorporados no solo analizan el código como un conjunto de caracteres, sino que intentan comprender el propósito y la funcionalidad del programa escrito. En su base, hay un sistema de aprendizaje automático que utiliza miles de millones de líneas de código de proyectos de código abierto. DeepCode analiza las versiones anteriores del código y los cambios subsecuentes que se han realizado para estudiar qué errores y cómo los han corregido los programadores reales en su trabajo, y luego ofrecer soluciones similares a sus usuarios. Además, el sistema utiliza algoritmos tradicionales de predicción para identificar posibles problemas en el código, similares a los mencionados anteriormente de los analizadores estáticos.
Una de las preguntas clave al usar DeepCode es: ¿cuán confiable es la verificación automática del código? Una precisión de análisis de menos del 100% significa que los desarrolladores aún deberán revisar su código manualmente. En ese caso, ¿cuánto tiempo realmente se ahorrará utilizando herramientas para automatizar esta tarea? Según Pascalev, DeepCode podría ahorrar a los desarrolladores alrededor del 50% del tiempo que actualmente dedican a encontrar errores por sí mismos, lo que es una cifra bastante significativa.
Los desarrolladores pueden conectar DeepCode a sus cuentas de GitHub o Bitbucket, además de que la herramienta soporta configuraciones locales de GitLab. Adicionalmente, el proyecto cuenta con una API especial que permite a los desarrolladores integrar DeepCode en sus propios sistemas de desarrollo. Una vez conectado al repositorio, DeepCode analizará cada cambio de código y señalará posibles problemas.

«En promedio, los desarrolladores gastan alrededor del 30% de su tiempo buscando y corrigiendo errores, pero DeepCode puede ahorrar la mitad de ese tiempo ya ahora, y aún más en el futuro», afirma Boris. «Como DeepCode aprende directamente de la comunidad global de desarrolladores, es capaz de detectar más problemas de los que alguna vez podría encontrar una sola persona o un grupo entero de revisores».
Además de la noticia de hoy sobre la obtención de inversiones, DeepCode también anunció una nueva política de valor para su producto. Hasta ahora, DeepCode había sido gratuito solo para proyectos de software de código abierto. Ahora será gratuito para ser utilizado con fines educativos y también para empresas comerciales con menos de 30 desarrolladores. Es evidente que con este paso los creadores de DeepCode quieren hacer su producto más popular entre equipos pequeños. Además, DeepCode cobra $20 por desarrollador al mes al desplegar soluciones en la nube y $50 por desarrollador para soporte local.
Anteriormente, el equipo de DeepCode ya había recibido inversiones por un millón de dólares. Con otros 4 millones, la empresa anunció que planea ampliar los lenguajes de programación que soportan, además de Java, JavaScript y Python, incluyendo soporte para C#, PHP y C/C++. También confirmaron que están trabajando en su propio entorno de desarrollo integrado.
Fuente: 3dnews.ru
