Aujourd'hui, la startup suisse , qui utilise l'intelligence artificielle et l'apprentissage automatique pour automatiser l'analyse du code, a annoncé avoir obtenu un investissement de 4 millions de dollars de la part des fonds de capital-risque Earlybird, 3VC et Btov Partners. L'entreprise prévoit d'utiliser ces fonds pour intégrer de nouveaux langages de programmation dans son service, ainsi que pour le marketing de son produit sur le marché mondial de l'IT.

L'analyse de code est essentielle pour détecter les erreurs, les vulnérabilités potentielles, les violations des conventions de style de formatage et bien d'autres éléments à un stade précoce du développement logiciel, avant que le code ne soit utilisé ailleurs. En général, cette procédure est réalisée en parallèle avec le développement de nouveau code et immédiatement après sa finalisation, précédant la phase de test proprement dite. "Le test logiciel examine le code de l'extérieur, mais l'analyse de code vous permet de le voir de l'intérieur", explique Boris Paskalev, cofondateur et PDG de DeepCode, dans une interview accordée à VentureBeat.
Le plus souvent, la révision du code est effectuée par ses auteurs en collaboration avec des collègues et des responsables afin d'identifier les erreurs évidentes avant de passer aux étapes suivantes du développement. Plus le projet est important, plus il y a de lignes de code à vérifier, ce qui nécessite un temps considérable de la part des programmeurs. Des outils conçus pour accélérer ce processus existent depuis longtemps, tels que des analyseurs de code statiques comme Coverity et PVS-Studio, mais ils sont généralement limités dans leurs capacités, car ils se concentrent sur "des problèmes stylistiques agaçants et récurrents, le formatage et des erreurs logiques mineures", explique Paskalev.
DeepCode couvre un éventail plus large de problèmes, détectant des vulnérabilités telles que les failles de script intersites et les injections SQL, car ses algorithmes n'analysent pas seulement le code comme un ensemble de caractères, mais cherchent à comprendre le sens et l'objectif de la programmation écrite. Au cœur de cela se trouve un système d'apprentissage automatique qui utilise des milliards de lignes de code provenant de projets open source publics pour s'entraîner. DeepCode analyse les versions précédentes du code et les modifications ultérieures apportées pour étudier les erreurs que les programmeurs réels ont corrigées dans leur travail et proposer des solutions similaires à ses utilisateurs. De plus, le système utilise également des algorithmes de prédiction traditionnels pour identifier d'éventuels problèmes dans le code, similaires à ceux mentionnés ci-dessus par les analyseurs statiques.
Une des questions clés lors de l'utilisation de DeepCode est : quelle est la fiabilité de la vérification automatique du code ? Une précision d'analyse inférieure à 100 % signifie que les développeurs devront tout de même analyser leur code manuellement. Dans ce cas, combien de temps l'utilisation d'outils d'automatisation libérera-t-elle réellement ? Selon Paskalev, DeepCode pourrait faire économiser aux développeurs environ 50 % du temps qu'ils consacrent actuellement à la recherche d'erreurs eux-mêmes, ce qui est un chiffre significatif.
Les développeurs peuvent connecter DeepCode à leurs comptes GitHub ou Bitbucket, et l'outil prend également en charge les configurations locales de GitLab. De plus, le projet dispose d'une API spéciale qui permet aux développeurs d'intégrer DeepCode dans leurs propres systèmes de développement. Une fois connecté au dépôt, DeepCode analysera chaque modification de code et signalera les problèmes potentiels.

« En moyenne, les développeurs consacrent environ 30 % de leur temps à la recherche et à la résolution d'erreurs, mais DeepCode peut déjà faire économiser la moitié de ce temps, et encore plus à l'avenir », affirme Boris. « Comme DeepCode apprend directement de la communauté mondiale des développeurs, il est capable de détecter plus de problèmes que ce qu'une seule personne ou un groupe d'examinateurs n'a jamais pu trouver. »
En plus de l'annonce d'aujourd'hui concernant le financement, DeepCode a également annoncé une nouvelle politique précieuse pour son produit. Jusqu'à présent, DeepCode était gratuit uniquement pour les projets de développement de logiciels open source. Désormais, il sera gratuit à des fins éducatives et même pour les entreprises commerciales comptant moins de 30 développeurs. Il est évident que cette mesure vise à rendre le produit de DeepCode plus populaire auprès des petites équipes. De plus, DeepCode facture 20 dollars par développeur et par mois pour le déploiement de la solution dans le cloud et 50 dollars pour le support local.
Auparavant, l'équipe de DeepCode avait déjà levé 1 million de dollars. Avec encore 4 millions à sa disposition, l'entreprise a déclaré qu'elle prévoyait d'élargir les langages de programmation qu'elle prend en charge au-delà de Java, JavaScript et Python, y compris l'ajout de la prise en charge de C#, PHP et C/C++. Ils ont également confirmé qu'ils travaillaient sur un environnement de développement intégré.
Source : 3dnews.ru
