kantver - Fotolia
Kite veut aider à compléter le code des développeurs JavaScript grâce à l’IA
La technologie de complétion de code alimentée par l’IA de Kite vise à rendre les développeurs Python et JavaScript plus productifs. Elle repose sur des modèles de machine learning qui prédisent la ligne de code suivante.
Kite est une startup californienne fondée en 2014 et basée à San Francisco. Elle se spécialise dans le développement d’outils basés sur le machine learning en direction des développeurs. Elle vient d’ajouter à sa gamme de produits un plug-in d’autocomplétion de code pour JavaScript.
L’éditeur a d’abord commencé par un autre langage également très usité : Python. Dans les deux cas, l’objectif est de prédire et compléter automatiquement la prochaine ligne de code que les développeurs écriront. Oui, Kite fait partie de ces éditeurs qui veulent apporter la simplicité de la rédaction de SMS ou de courriers sur Gmail à des populations techniques.
« L’utilisation de l’intelligence artificielle rend possible l’émergence du low-code et du no-code », estime Ronald Schmelzer analyste chez Cognilytica. « Les systèmes IA sont très bons pour détecter des patterns, des modèles, donc vous pouvez les considérer comme des outils de création de templates qui essayent de déterminer ce que vous essayez de faire et suggère des lignes, des blocs ou des éléments pour compléter votre code ».
De l’autocomplétion pour Python et JavaScript
Kite fonctionne comme un plug-in pour tous les éditeurs de code les plus populaires, y compris Atom, PyCharm/IntelliJ/WebStorm de JetBrains, Spyder, Sublime Text 3, VS Code et Vim. Le produit est disponible sur Mac, Windows et Linux.
Ce logiciel nommé Line-of-Code Completions comprend des fonctionnalités pour épargner aux développeurs les tâches les plus courantes dans leur travail. Cela évite de préparer la finalisation d’un build, chercher des snippets sur Google, copier-coller du code passe-partout depuis StackOverflow, selon Adam Smith, fondateur et CEO de Kite.
Évidemment, le machine learning est une technologie où l’apprentissage est nécessaire. L’outil disponible en bêta suggère du code déjà utilisé par le programmeur ou tout élément trouvé dans ses fichiers open source. Adam Smith indique que les modèles ont été entraînés sur 22 millions de fichiers JavaScript open source.
Kite assure que ses ingénieurs ont pris le temps pour former l’outil à l’écosystème JavaScript, à ses frameworks, ses API et ses modèles de conception. L’outil est compatible avec les librairies et les frameworks les plus populaires dont React, Vue, Angular et Node.js. Le système analyse les projets open source sur GitHub et applique ces modèles d’apprentissage pour prédire le ou les prochains bouts de code au fur et à mesure que les développeurs le construisent en temps réel.
Line of Code Completions fonctionne avec des fichiers .js, .jsx et .vue et le traitement est réalisé localement, sur l’ordinateur du code et non dans le cloud.
La startup a également présenté Kite Pro, sa première offre payante de complétion de code pour Python basée sur l’apprentissage statistique. La version premium propose des fonctionnalités telles que de la documentation pour plus de 800 bibliothèques Python.
La version de base de Kite est gratuite, tandis que Kite Pro coûte 16,60 dollars par utilisateur, par mois. Des tarifs personnalisés sont également disponibles pour les équipes qui contactent directement l’entreprise.
Kite veut se différencier sur un marché qui évolue rapidement
L’autocomplétion de code n’a rien de nouveau. Microsoft propose IntelliSense dans Visual Studio Code depuis 1996. Le géant du cloud fait évoluer ce produit qui maintenant se nomme IntelliCode. Cet outil en bêta est disponible depuis la version 16.1 de VS 2019. « IntelliCode apporte une fonctionnalité de complétion plus primitive que ce que nous proposons », affirme Adam Smith.
Kite entend se différencier avec des filtres pour n’afficher que les suggestions les plus pertinentes plutôt qu’une longue liste de possibilités. Selon Adam Smith, Intellicode ne propose pas des lignes entières de codes, mais plutôt le prochain « mot » que le développeur écrit, c’est-à-dire les propriétés les plus pertinentes dans un contexte donné.
Notons qu’IntelliCode supporte davantage de langages : C#, C++, Java, Python, SQL Server, TypeScript/JavaScript et XAML. Il propose également de la révision de code et un outil de détection d’erreurs (en préversion), ce que la startup californienne ne propose pas. Elle assure qu’avec l’autocomplétion, il n’y a plus de problème : la moindre erreur de frappe ne donne aucune proposition de la part du middleware.
Il n’en reste pas moins que l’achèvement du code à l’aide de l’IA « est clairement un chantier en cours et qu’il reste beaucoup à faire, mais OutSystems et d’autres envisagent également de permettre à leurs suites d’IA de fournir des solutions plus rapides et plus complètes dans l’écosystème low-code », explique Ronald Schmelzer.
Le marché semble connaître un essor actuellement. Par exemple, Codota est une startup israélienne fondée en 2015 qui propose un plug-in d’autocomplétion pour les langages Rust, Python, JavaScript, Java, C++, PHP, Go, C# et d’autres. Cette extension s’installe également sur la plupart des IDE du marché dont Eclipse, Pycharm, VSCode ou encore Intellij. Codota vient de lever 12 millions de dollars.
Enfin, la jeune pousse française Ponicode a fait une entrée remarquée dans le domaine de la correction de code. Montée en juin 2019, la société fondée par Patrick Joubert (aussi fondateur de Recast.AI, revendue à SAP) vient de rejoindre l’accélérateur IA Factory de Microsoft. Elle a contribué à l’événement GitHub Satellite. Celle-ci propose en préversion un outil de génération de tests unitaires dopé à l’IA pour JavaScript dans VSCode.