DeepCode va-t-il devenir à la programmation ce que le correcteur grammatical Grammarly accomplit pour l’écriture de texte ? L'intelligence artificielle appliquée au nettoyage du code transforme en effet le service cloud en vérificateur d'orthographe pour les développeurs. DeepCode passe en revue le code et alerte sur les vulnérabilités critiques, l’objectif étant d’éviter que les bogues de sécurité ne se retrouvent dans les versions de production. Le code est donc plus sûr, plus propre, et sa livraison plus rapide.
DeepCode s’entraîne à partir de bases de code open source et construit une base de connaissances pour proposer des améliorations de code, ledit code étant analysé après chaque modification. Le service DeepCode Cloud s'intègre avec les plates-formes d'hébergement de code GitHub et Bitbucket et supporte les déploiements sur site pour surveiller Bitbucket Server ou GitLab.
DeepCode comprend notamment deux fonctionnalités de base :
- AI QA Audits : le service basé sur l’IA analyse n'importe quelle branche d'un référentiel et affiche les résultats dans un navigateur Web
- AI Code Reviews : la révision de code basée sur l’IA inclut l’analyse des validations et l'analyse des requêtes pull. DeepCode analyse toutes les données de projets et les demandes d'extraction de code et fait l’inventaire de tous les problèmes.
Une analyse sémantique en complément
DeepCode fait également de l’analyse sémantique. Celle-ci consiste à examiner les changements avant et après l’identification des problèmes. Elle est capable de comprendre le contexte. Le service analyse également les bogues de sécurité et de performance, ainsi que les erreurs logiques commises par les développeurs. Les problèmes de compatibilité, quand le développeur utilise par exemple une version récente du langage de programmation, sont également évalués. Les erreurs de formatage et d'API sont aussi vérifiés. Le service scrute également d'autres défauts, comme les fuites de ressources, les exceptions de pointeur null et les problèmes liés au formatage de date.
Actuellement, le service supporte les langages Java, JavaScript, Python et TypeScript. Mais le service supportera plus tard les langages C, C++, C#, et Go, et les développeurs pourront peut-être ajouter eux-mêmes le support d’autres langages. L’ajout d’autres services est envisagé, comme la fixation automatique du code et l'amélioration continue de la précision du système DeepCode. Ce dernier vise aussi l'intégration cloud de GitLab.
DeepCode peut être utilisé pour les applications de n'importe quelle industrie. L’usage du cloud public est gratuit et celui du cloud privé est gratuit pour des groupes de 30 développeurs maximum.