Martin Monperrus et ses collègues de l'Institut royal de technologie KTH de Stockholm ont conçu Repairnator, un bot qui génère des correctifs pour des compilations logicielles en échec — et pour tester s'il pouvait rivaliser avec des humains, ils l'ont déguisé. Ils ont créé un utilisateur GitHub nommé Luc Esape, « ingénieur logiciel » au laboratoire, qui « ressemble à un développeur junior, désireux de contribuer à l'open source ». Luc était le bot. Le camouflage était nécessaire pour tester l'hypothèse de compétitivité avec les humains, car les modérateurs humains jugent différemment le travail d'un bot et celui d'un humain. Les humains concernés ont été informés par la suite.
La première campagne, de février à décembre 2017, a placé Repairnator sur une liste fixe de 14 188 projets GitHub. Il a effectué environ 30 tentatives de réparation par jour, analysé plus de 11 500 compilations en échec, reproduit plus de 3 000 d'entre elles — et élaboré des correctifs dans seulement 15 cas. Aucun n'a été accepté : le bot était trop lent ou les correctifs de trop faible qualité.
La deuxième campagne a affecté Luc au service d'intégration continue Travis de janvier à juin 2018, et le 12 janvier, un modérateur humain a accepté un correctif de Repairnator dans une compilation — autrement dit, Repairnator était pour la première fois compétitif avec les humains. En six mois, il a produit cinq correctifs acceptés.
L'expérience a mis au jour un écueil de gouvernance : en mai 2018, le projet eclipse/ditto a rejeté une demande de tirage (pull request) de Repairnator parce que son « auteur » n'avait pas signé l'accord de licence de contributeur de la Fondation Eclipse — ce qu'un bot ne peut matériellement pas signer. À qui appartiennent la propriété intellectuelle et la responsabilité d'une contribution de bot, s'est demandé l'équipe — à l'opérateur, à l'implémenteur ou au concepteur de l'algorithme ?
Pour tester si un bot rivalise avec des humains, il faut cacher lequel est le bot : les modérateurs qui savent qu'un correctif est produit par une machine le jugent selon d'autres critères.
La tromperie fait partie du protocole expérimental : l'acceptation par des modérateurs qui ignoraient examiner un bot est la seule mesure honnête de la compétitivité avec les humains.
Les résultats sont concrets, non pas aspirationnels — 14 188 projets surveillés, 11 500 compilations analysées, 3 000 échecs reproduits, cinq correctifs fusionnés dans de véritables bases de code.
La première campagne honnête (0 accepté sur 15) fait des cinq acceptations de la deuxième campagne une amélioration mesurable plutôt qu'une démonstration.
Le rejet au titre de l'accord de licence de contributeur d'Eclipse a anticipé de plusieurs années les débats actuels sur les contributions de l'IA : un bot ne peut pas signer une licence, alors qui se porte garant de son code ?
La compétitivité avec les humains est une propriété de test en aveugle, non un score de référence : mesurez un bot comme le travail est réellement jugé — par des évaluateurs qui ignorent ce qui l'a produit.
Suites
L'équipe a informé les humains concernés de la supercherie et a publié les résultats, qualifiant Repairnator de jalon pour la compétitivité avec les humains dans la réparation automatique de programmes et de préfiguration d'une collaboration entre bots et humains sur les logiciels. La source ne rapporte aucun autre développement.
VÉRIFIEZ LES SOURCES
Les sources
- A bot disguised as a human software developer fixes bugs MIT Technology Review · technologyreview.com ·