Prochain numéro du magazine ActuIA le 15 octobre
Actualité Application du deep learning à la simplification du développement logiciel

Pour approfondir le sujet

Earthcube intègre la détection native d’aéronefs à sa plateforme de surveillance d’images géospatiales basée sur l’IA

Earthcube développe depuis sa création des solutions de surveillance basées sur l’analyse automatique d’informations géospatiales. La start-up annonce désormais que sa plateforme S-Cube (Strategic...

Testez l’API d’IA Flash, le projet IA développé pour fiabiliser la constatation des contraventions à partir de la reconnaissance d’images

Dans le cadre de sa recherche de solutions innovantes, le Ministère de l’Intérieur, au travers de son Agence nationale du traitement automatisé des infractions,...

Télécom Evolution lance le Certificat d’Etudes Spécialisées (CES) Intelligence artificielle

Télécom Evolution lance le Certificat d'Etudes Spécialisées (CES) Intelligence artificielle. Conçu et réalisé par Télécom ParisTech et ENSTA ParisTech, et placé sous la responsabilité...

Vers un ensemble de droits solides pour garantir une utilisation équitable et sûre de l’intelligence artificielle et de la prise de décision automatisée par...

Les institutions européennes travaillent depuis plusieurs années maintenant sur des questions liées à l'intelligence artificielle et à ses utilisations. La semaine dernière, la commission...

Application du deep learning à la simplification du développement logiciel

Les chercheurs de l’Université Rice aux États-Unis ont développé une application deep learning destinée à simplifier le développement de logiciels en Java. Baptisé Bayou, le service disponible en ligne sur askbayou.com a été financé par la Defense Advanced Research Projects Agency. Il a pour objectif d’extraire les connaissances de codes open sources de références disponibles en ligne (notamment sur GitHub) afin d’aider les développeurs à transformer des “brouillons” de code en portions de code valides. Il tente pour cela d’insérer les lignes ou blocs de code manquants afin de permettre le bon fonctionnement du programme tout en cherchant à respecter les intentions initiales du développeur.

Swarat Chaudhuri, professeur agrégé d’informatique à Rice et co-créateur de Bayou, a déclaré :

“Certains ont essayé pendant 60 ans de développer des systèmes capables d’écrire du code, mais le problème est que ces méthodes ne gèrent pas correctement l’ambiguïté. Vous devez généralement donner beaucoup de détails sur ce que fait le programme cible, et l’écriture de ces détails peut impliquer autant de travail que l’écriture même du code”.

“Bayou est une amélioration considérable. Un développeur peut donner à Bayou une très petite quantité d’informations – juste quelques mots-clés, vraiment – et Bayou essayera de comprendre ce que veut le programmeur et de prédire le programme qu’il veut”.

L’architecte et chercheur de Bayou, Vijay Murali, a précisé que :

“le développement de logiciels modernes est une question de règles, d’outils, de définitions et de protocoles spécifiques au système qui permettent à un morceau de code d’interagir avec un système d’exploitation spécifique. Il existe des centaines d’API et navigation parmi elles est très difficile pour les développeurs qui passent beaucoup de temps sur des sites de questions-réponses comme Stack Overflow à demander de l’aide à d’autres développeurs”.

GitHub a été fondamental dans la création de Bayou car ce dernier s’est entrainé lui-même, en analysant des millions de lignes de code en Java pour ensuite se baser dessus et écrire son propre code. Chris Jermaine, co-créateur de l’application, affirme que Bayou permet de faire la différence, notamment au moment de synthétiser des exemples de code pour des API logicielles spécifiques.

“La programmation d’aujourd’hui est très différente de ce qu’elle était il y a 30 ou 40 ans. Les ordinateurs d’aujourd’hui sont dans nos poches, sur nos poignets et dans des milliards d’appareils ménagers, de véhicules et d’autres dispositifs. Les jours où un programmeur pouvait écrire du code à partir de zéro sont révolus depuis longtemps”.

L’objectif principal de l’équipe de chercheurs est d’amener les développeurs à essayer de développer Bayou, publié sous une licence open source permissive.

“Plus nous aurons d’informations sur ce que les gens veulent d’un système comme Bayou, mieux nous pourrons le faire. Nous voulons que le plus de gens possible l’utilisent”.

Bayou est basé sur une méthode appelée neural sketch learning, qui forme un réseau de neurones artificiels à reconnaître des modèles de haut niveau parmi des centaines de milliers de programmes Java. Il le fait en créant une ‘esquisse’ (sketch) pour chaque programme qu’il lit, puis associe cette esquisse à ‘l’intention’ probable qui se cache derrière le programme. Suivant ce principe, lorsqu’un utilisateur pose des questions à Bayou, l’application va prendre une décision sur le type de programme qu’on lui demande d’écrire. Il va ensuite définir ce que l’utilisateur souhaite probablement et créer des esquisses de plusieurs de ces programmes.

“À partir de cette hypothèse, une partie distincte de Bayou, un module qui comprend les détails de bas niveau de Java et peut faire un raisonnement logique automatique, va générer quatre ou cinq portions de code. Il va les présenter à l’utilisateur comme des résultats d’une recherche sur le Web : ‘Voici probablement la bonne réponse, mais en voici trois autres qui pourraient également correspondre ce que vous cherchez”.

Thomas Calvi

Partager l'article

8 startups et PME françaises lauréates de l’appel à projets EUREKA – Challenge international COVID-19

Bpifrance a annoncé ce jour les lauréats du Challenge international Covid-19. Suite à l'appel à projets ouvert du 15 avril au 15 mai 2020,...

Une approche européenne de l’intelligence artificielle : EIT Digital fait part de ses recommandations

EIT Digital a présenté son troisième rapport de sa série Policy Perspective. Il aborde la manière dont l'Europe devrait gérer l'intelligence artificielle et fournit...

Replay – Conférence 1re Pierre : Cité de l’Intelligence Artificielle organisée par le département des Alpes-Maritimes et l’Institut EuropIA

Le lundi 14 septembre 2020 s'est déroulé le troisième #IADATES organisé par le département des Alpes-Maritimes et l’Institut EuropIA. Intitulée "1re Pierre : Cité...

reciTAL, spécialiste du TAL, lève 3,5 M€ auprès de Breega

Paris, le 10 septembre 2020 - reciTAL, start-up IA spécialisée dans les solutions de Document Intelligence, effectue une première levée de fonds de 3,5 M€...