IBM FRANCE

L’IoT représente une opportunité inédite pour l’ensemble des développeurs dans de très nombreux secteurs d’activité. La plate-forme Watson...

Lire la suite

DeepCoder : une intelligence artificielle pour écrire du code

Par:
fredericmazue

ven, 24/02/2017 - 12:08

Amis développeurs, vous serez peut-être bientôt tous au chômage. En coopération avec des chercheurs de l'Université de Cambridge, Microsoft Research a mis au point DeepCoder, une intelligence artifcielle capable d'écrire du code.

Nous développons une première approche pour résoudre des problèmes de programmation par le deep learning. Cette approche consiste à entraîner un réseau neuronal à prédire les propriétés d'un programme qui génére des sorties à partir de ses entrées explique le document de présentation de DeepCoder.

DeepCoder a à sa disposition une base de données d'échantillons de code dans lequel il puise, qu'il assemble ensuite, ce qui constitue au final un programme.

Avec DeepCoder, nous dit-on, des non-informaticiens, en décrivant seulement le fonctionnement d'un programme, pourrait obtenir celui-ci.

Pour le moment, il faut que le programme soit simple :-) C'est le document de présentation qui le dit : DeepCoder ne peut synthétiser que les problèmes les plus simples et n'impliquant que 5 entrées/sorties. Il est encore précisé que DeepCoder, comme son nom le suggère, travaille avec le deep learning et apprend au fil du temps. En l'occurrence, il apprend quels sont les échantillons de code de sa base de données qui travaillent le mieux ensemble.

Cela n'est pas sans rappeler l'horrible composition musicale de l'intelligence artificielle de Google qui s'est aventurée à assembler quelques notes.

Assembler des échantillons de code, c'est bien gentil, mais par exemple DeepCoder sait-il voir s'il y a un problème de sécurité dans un échantillon ? Ou bien si l'assemblage de deux ou trois échantillons génère en plus du fonctionnement attendu, un problème de sécurité ? Pour beaucoup (dont votre serviteur fait partie) coder n'est pas un travail mécanique, mais fait appel à l'imagination, à la créativité, à la compréhension d'ensemble, apanages de l'humain. Ce qui laisse espérer que DeepCoder ne mettra pas les informaticiens au chômage de sitôt .