DeepCodeProbe: Towards Understanding What Models Trained on Code Learn
Not on the map. Why?
Abstract (arXiv)
Machine learning models trained on code and related artifacts offer valuable support for software maintenance but suffer from interpretability issues due to their complex internal variables. These concerns are particularly significant in safety-critical applications where the models' decision-making processes must be reliable. The specific features and representations learned by these models remain unclear, adding to the hesitancy in adopting them widely. To address these challenges, we introduce DeepCodeProbe, a probing approach that examines the syntax and representation learning abilities of ML models designed for software maintenance tasks. Our study applies DeepCodeProbe to state-of-the-art models for code clone detection, code summarization, and comment generation. Findings reveal that while small models capture abstract syntactic representations, their ability to fully grasp programming language syntax is limited. Increasing model capacity improves syntax learning but introduces trade-offs such as increased training time and overfitting. DeepCodeProbe also identifies specific code patterns the models learn from their training data. Additionally, we provide best practices for training models on code to enhance performance and interpretability, supported by an open-source replication package for broader application of DeepCodeProbe in interpreting other code-related models.
Key facts. Cited by 1 paper in the map (data through 7 Oct 2026). Builds on 44 of its 90 references that are in the map. First posted on arXiv 11 Jul 2024.
Builds on
44 of 90 references.
References · 44
- 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
- 2020Scaling Laws for Neural Language Modelscited by 6,411
- 2013Distributed Representations of Words and Phrases and their Compositionalitycited by 3,462
- 2019HuggingFace's Transformers: State-of-the-art Natural Language Processingcited by 2,201
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
- 2021Probing Classifiers: Promises, Shortcomings, and Advancescited by 831
- 2020A Primer in BERTology: What we know about how BERT workscited by 807
- 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 600
- 2019Linguistic Knowledge and Transferability of Contextual Representationscited by 382
- 2023Explainability for Large Language Models: A Surveycited by 331
- 2015Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networkscited by 305
32 more
- 2020No Subclass Left Behind: Fine-Grained Robustness in Coarse-Grained Classification Problemscited by 208
- 2020Information-Theoretic Probing for Linguistic Structurecited by 204
- 2020A Transformer-based Approach for Source Code Summarizationcited by 129
- 2018An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translationcited by 106
- 2018Improving Automatic Source Code Summarization via Deep Reinforcement Learningcited by 99
- 2020The Cost of Training NLP Models: A Concise Overviewcited by 97
- 2016A Convolutional Attention Network for Extreme Summarization of Source Codecited by 90
- 2020Improved Code Summarization via a Graph Neural Networkcited by 79
- 2020Explainable Artificial Intelligence: a Systematic Reviewcited by 79
- 2019Code Generation as a Dual Task of Code Summarizationcited by 62
- 2024Bugs in Large Language Models Generated Code: An Empirical Studycited by 59
- 2022What Do They Capture? -- A Structural Analysis of Pre-Trained Language Models for Source Codecited by 50
- 2020A Tale of a Probe and a Parsercited by 40
- 2020Probing Linguistic Systematicitycited by 37
- 2020A Survey on Deep Learning for Software Engineeringcited by 37
- 2021What do pre-trained code models know about code?cited by 36
- 2021Local Interpretations for Explainable Natural Language Processing: A Surveycited by 31
- 2024How Beginning Programmers and Code LLMs (Mis)read Each Othercited by 31
- 2019Automatic Source Code Summarization with Extended Tree-LSTMcited by 28
- 2020Code to Comment "Translation": Data, Metrics, Baselining & Evaluationcited by 28
- 2024An Empirical Study on Usage and Perceptions of LLMs in a Software Engineering Projectcited by 28
- 2023Assessing the Security of GitHub Copilot Generated Code -- A Targeted Replication Studycited by 24
- 2020A Safety Framework for Critical Systems Utilising Deep Neural Networkscited by 19
- 2020funcGNN: A Graph Neural Network Approach to Program Similaritycited by 16
- 2019Probing for Semantic Classes: Diagnosing the Meaning Content of Word Embeddingscited by 15
- 2019A Survey of Automatic Generation of Source Code Comments: Algorithms and Techniquescited by 15
- 2024Rocks Coding, Not Development--A Human-Centric, Experimental Evaluation of LLM-Supported SE Taskscited by 13
- 2024A Study on Developer Behaviors for Validating and Repairing LLM-Generated Code Using Eye Tracking and IDE Actionscited by 12
- 2018A deep tree-based model for software defect predictioncited by 8
- 2019Proposed Guidelines for the Responsible Use of Explainable Machine Learningcited by 8
- 2019Deep Learning Anti-patterns from Code Metrics Historycited by 3
- 2017Connecting Software Metrics across Versions to Predict Defectscited by 2
Built on by
Citing papers per year: 2025: 1.
1 paper.
- 2025Toward Neurosymbolic Program Comprehensioncited by 0
- 2025Toward Neurosymbolic Program Comprehension3 Feb 2025