研究人员通过并行数据集(包含 Java 和 Python 代码示例)探测预训练代码模型的残差流,以了解它们如何在内部编码类型信息。

  • 跨语言类型表示甚至从无类型代码中涌现。
  • 隐藏状态线性编码了由类型化函数应用所隐含的结果类型,使得在一个语言上训练的探针能够推断另一种语言中的参数和结果类型。
  • 这种结构编码对词汇扰动和跨语言句法变化具有一定的鲁棒性。

这项工作通过直接针对形式类型语义和跨语言类型表示,填补了可解释性研究中的空白,代码和数据集已发布。