Contexte de l’étude

Lors du SIGBOVIK 2019, les auteurs ont posé une question apparemment humoristique mais mesurable : une tache de peinture peut‑elle produire du code Perl exécutable ? L’article, publié le 1 avril 2019, propose une réponse affirmative en s’appuyant sur un corpus de cent images de taches de peinture. Chaque image a été soumise à un logiciel de reconnaissance optique de caractères (OCR) afin d’extraire une chaîne de texte, puis cette chaîne a été testée avec l’interpréteur Perl pour vérifier sa validité syntaxique.

Méthodologie et résultats quantitatifs

Le processus d’extraction repose sur un OCR standard, sans réglages spécifiques au style de peinture. Sur les cent images, 93 % ont été reconnues comme du texte Perl valide. Les sept cas restants ont produit des chaînes qui ne respectent pas la grammaire Perl et ont donc été marqués « Not valid » en rouge dans la galerie. Le taux de 93 % constitue la donnée centrale de l’étude et montre que, même avec un bruit visuel important, les algorithmes OCR sont capables de générer du texte conforme à une syntaxe de langage de programmation.

Analyse des programmes non valides

Les sept programmes rejetés illustrent les limites de l’OCR face à des formes abstraites. Parmi les exemples fournis, l’image reconnue comme

lerzfijglpFiji-j
produit la valeur numérique 0 lorsqu’elle est évaluée en Perl, mais ne constitue pas une instruction valide. De même, la chaîne
-*?
est interprétée comme l’opérateur de multiplication suivi d’un caractère de ponctuation, ce qui entraîne une erreur de compilation. Un autre cas,
;i;c;;#\?z{;?;;fn':.;
, aboutit à la chaîne « c » après évaluation, mais la présence de caractères de ponctuation et de séquences d’échappement rend le script non parseable. Enfin,
;E,'__'
génère la chaîne « E__ », mais la syntaxe « ;E, » n’est pas reconnue comme une instruction Perl valide. Ces exemples démontrent que la simple présence de caractères alphanumériques ne suffit pas à garantir la conformité syntaxique.

Implications et limites

Le travail montre que l’OCR, même appliqué à des supports non textuels, peut produire des artefacts exécutables dans un langage de script. Cette observation a deux implications : d’une part, elle souligne la robustesse du parseur Perl face à des entrées inattendues ; d’autre part, elle rappelle que les systèmes de reconnaissance de texte peuvent involontairement générer du code exécutable, ce qui pose des questions de sécurité lorsqu’ils sont intégrés à des pipelines automatisés. Toutefois, l’étude ne détaille pas les paramètres exacts de l’OCR (type de modèle, seuils de confiance) ni les versions de Perl utilisées, ce qui limite la reproductibilité des résultats. Le jeu de données, disponible sous forme de tarball contenant les cent images, reste la principale source de vérification pour les chercheurs souhaitant reproduire ou étendre l’expérience.