Un nouveau compagnon de débogage

Le site Rubber Duck Debugging, connu pour promouvoir la méthode de débogage par canard en caoutchouc, propose désormais un service en ligne baptisé «Cyberduck – Talk with a Duck». Via un simple bouton intitulé «Open CYBERDUCK terminal», les utilisateurs peuvent ouvrir une interface de dialogue textuel avec un canard virtuel. L'objectif est d'appliquer la technique bien connue des développeurs qui consiste à expliquer son code à un objet inanimé (souvent un canard en caoutchouc) pour identifier les erreurs.

Une filiation avec ELIZA

Selon la page dédiée, Cyberduck s'appuie sur les travaux de Joseph Weizenbaum et Norbert Landsteiner. Joseph Weizenbaum a créé ELIZA, un programme pionnier de traitement du langage naturel, présenté en 1966 dans le journal Communications of the ACM. Norbert Landsteiner est l'auteur d'Elizabot, une implémentation moderne d'ELIZA accessible en ligne. Cyberduck reprend donc le principe du psychothérapeute automatisé, mais appliqué au débogage de logiciel.

Fonctionnement

L'outil se présente comme un terminal interactif. L'utilisateur tape des questions ou des explications sur son code, et le canard répond à la manière d'ELIZA, par des relances ou des reformulations. Bien que la page ne détaille pas exactement le moteur de dialogue, les références à Elizabot suggèrent que le système utilise des techniques de reconnaissance de motifs et de substitution de mots pour générer des réponses.

Contexte

La technique du «rubber duck debugging» (débogage par canard en caoutchouc) est largement répandue dans la communauté des programmeurs. L'idée est que le simple fait d'expliquer son code à voix haute, même à un objet, permet souvent de repérer des incohérences ou des bugs. Cyberduck offre une version numérique de ce processus, accessible depuis un navigateur.

Disponibilité

Le service est accessible gratuitement sur le site rubberduckdebugging.com, dans la section «Cyberduck». Aucune inscription n'est demandée ; il suffit de cliquer sur le bouton pour ouvrir le terminal. Le site précise que l'outil est basé sur des travaux antérieurs, mais ne donne pas d'indication sur sa maintenance ou des mises à jour futures.