DeepCode, spin-off de l'ETH Zurich, racheté par une licorne de la cybersécurité

iDeepCode, une spin-off de l'ETH Zurich qui a construit la première plateforme d'intelligence artificielle pour le code, doit être acquise par Snyk, un leader mondial de l'analyse de code qui privilégie la sécurité des développeurs et développeuses.
Les fondateurs de DeepCode (de gauche à droite) : Veselin Raychev (DT), Boris Paskalev (PDG) et Martin Vechev, chef du laboratoire des systèmes sûrs, fiables et intelligents. (Photo : ETH Zurich)

L'avantage décisif qui distingue la spin-off DeepCode de l'ETH Zurich est qu'elle a développé le premier système d'IA qui peut apprendre rapidement à partir de milliards de codes de programmes, permettant une détection basée sur l'IA des problèmes de sécurité et de fiabilité des codes. DeepCode est un excellent exemple de système d'IA moderne qui peut apprendre à partir de données, de codes de programmes dans ce cas, tout en restant transparent et interprétable pour l'humain.

En rejoignant Snyk, une société d'outils de sécurité évaluée à 2,6 milliards de dollars américains, qui permet aux développeuses et développeurs de trouver rapidement les vulnérabilités des codes, DeepCode aura l'occasion d'intégrer ses capacités basées sur l'IA dans les produits Snyk existants, se rapprochant ainsi de son objectif initial qui était de toucher des millions d'utilisatrices et utilisateurs dans le monde entier. Les termes financiers de l'accord n'ont pas été divulgués.

Apprendre des données fait la différence

DeepCode a été lancé à l'origine dans le but de créer la première plateforme d'analyse de code alimentée par l'IA. La motivation principale était que ces dernières années, les développeuses et développeurs avaient produit des milliards de lignes de code, disponibles gratuitement dans un certain nombre de dépôts publics, ainsi que les rapports de bugs correspondants, les corrections et autres informations relatives au code. L'idée clé était alors de construire un système d'intelligence artificielle qui puisse apprendre de ce nouveau type de données (appelé Big Code) et qui puisse résoudre divers problèmes urgents de qualité du code ainsi que détecter des failles de sécurité inconnues dans les programmes.

Le facteur différenciateur est que, contrairement aux moteurs d'analyse de code antérieurs qui nécessitent des règles manuelles, fragiles et écrites à la main, DeepCode est basé sur l'apprentissage à partir de données : il traite automatiquement toutes les informations liées au code et construit des modèles prédictifs qui peuvent être utilisés pour détecter beaucoup plus de défauts et avec une précision hors de portée des autres systèmes commerciaux.

En outre, les modèles de DeepCode sont interprétables, ce qui signifie qu'un humain peut examiner le modèle et y apporter des modifications si nécessaire, une capacité qui dépasse tous les modèles d'apprentissage profond modernes existants. Cela fait de DeepCode un exemple de système d'IA de troisième génération : il peut apprendre à partir de données (du code dans ce cas) tout en étant interprétable par l'humain. En outre, DeepCode a réalisé des avancées algorithmiques qui ont rendu cette IA non seulement plus performante que les outils classiques, mais aussi proportionellement  plus rapide.

De la recherche fondamentale au marché

Alors que DeepCode a été fondé en 2016, le domaine de recherche lui-même a fait ses débuts à l'ETH Zurich en 2013, lorsque Martin Vechev, professeur au laboratoire des systèmes sûrs, fiables et intelligents du département d'informatique, et Veselin Raychev, son doctorant à l'époque, ainsi que d'autres collaboratrices et collaborateurs, en ont jeté les bases. Ils et elles ont construit les premiers prototypes de systèmes basés sur l'IA qui pouvaient apprendre du code en montrant comment combiner des méthodes d'apprentissage machine guidées par les données avec des méthodes d'analyse sémantique de code statique basées sur le raisonnement symbolique.

Il est intéressant de noter qu'à l'époque, la manière de relier ces deux types de méthodes n'était pas claire, car elles appartiennent traditionnellement à des domaines assez distincts de l'informatique. L'observation faite ici était qu'en trouvant des moyens de relier ces domaines apparemment distincts, il était possible de construire de nouveaux types de systèmes d'IA qui pourraient traiter efficacement le code (qui présente des défis différents de ceux d'autres types de données populaires, comme les images, les vidéos, le langage naturel, etc.)

Au cours de cette période, et avec le soutien d'une subvention de démarrage du CER de Martin Vechev, le groupe de l'ETH Zurich a publié plusieurs travaux novateurs et des systèmes de programmation publics basés sur l'IA pour diverses tâches logicielles (par exemple la désobfuscation qui signifie «dévoiler» un code de programme pour le rendre compréhensible : cf. jsnice.org), encore très utilisés aujourd'hui par des milliers d'utilisatrices et utilisateurs.

Un système d'analyse de code basé sur l'IA pour les développeuses et développeurs

Pour son travail novateur sur l'apprentissage du Big Code, Veselin Raychev a reçu la médaille de l'ETH Zurich pour sa thèse de doctorat exceptionnelle ainsi que le prestigieux prix ACM mention honorable (top 3 des thèses de doctorat en informatique, au niveau mondial). Cela fait de lui le troisième titulaire de doctorat européen seulement en 40 ans d'histoire de ce prix et le premier titulaire de doctorat de l'ETH Zurich à recevoir une telle récompense.

Après avoir été le premier à s'intéresser au domaine de recherche de l'apprentissage du Big Code, l'étape suivante consistait naturellement à construire un système d'analyse de code basé sur l'IA qui fonctionne en production et à l'échelle, dans le but de le faire utiliser par chaque développeuses et développeur et chaque entreprise qui crée des logiciels. Cela a conduit à la naissance de DeepCode, qui a été cofondé par Veselin Raychev (DT), Boris Paskalev (CEO) et le professeur Martin Vechev de l'ETH Zurich et qui protège actuellement plus de 4 millions de développeuses contributrices et développeurs contributeurs et plus de 100 000 dépôts souscrits au service de DeepCode.