Les chercheurs sondent les flux résiduels des modèles de code pré-entraînés pour comprendre comment ils encodent internement l'information de type, en utilisant un jeu de données parallèle d'exemples de code Java et Python.

  • Des représentations de type inter-langues émergent même à partir de code non typé.
  • Les états cachés encodent linéairement le type de résultat implicite par l'application de fonction typée, permettant aux sondes entraînées sur une langue d'inférer les types d'argument et de résultat dans une autre.
  • Cet encodage structurel est partiellement robuste aux perturbations lexicales et aux variations syntaxiques inter-langues.

Ce travail comble un manque dans la recherche sur l'interprétabilité en ciblant directement la sémantique des types formels et les représentations de type inter-langues, avec le code et les jeux de données publiés.