SEAIJul 18, 2022

What does Transformer learn about source code?

Peking U
arXiv:2207.08466v112 citationsh-index: 28
Originality Synthesis-oriented
AI Analysis

This work provides insights for researchers and practitioners in source code processing by showing how transformers capture structural information, though it is incremental in applying existing methods to new data.

The paper tackled the problem of understanding what structural information transformer models learn from source code, and found that automatically extracted semantic graphs from pre-trained models are meaningful and effective, achieving strong results in the Variable Misuse task.

In the field of source code processing, the transformer-based representation models have shown great powerfulness and have achieved state-of-the-art (SOTA) performance in many tasks. Although the transformer models process the sequential source code, pieces of evidence show that they may capture the structural information (\eg, in the syntax tree, data flow, control flow, \etc) as well. We propose the aggregated attention score, a method to investigate the structural information learned by the transformer. We also put forward the aggregated attention graph, a new way to extract program graphs from the pre-trained models automatically. We measure our methods from multiple perspectives. Furthermore, based on our empirical findings, we use the automatically extracted graphs to replace those ingenious manual designed graphs in the Variable Misuse task. Experimental results show that the semantic graphs we extracted automatically are greatly meaningful and effective, which provide a new perspective for us to understand and use the information contained in the model.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes