Exploring Software Naturalness through Neural Language Models
Not on the map. Why?
Abstract (arXiv)
The Software Naturalness hypothesis argues that programming languages can be understood through the same techniques used in natural language processing. We explore this hypothesis through the use of a pre-trained transformer-based language model to perform code analysis tasks. Present approaches to code analysis depend heavily on features derived from the Abstract Syntax Tree (AST) while our transformer-based language models work on raw source code. This work is the first to investigate whether such language models can discover AST features automatically. To achieve this, we introduce a sequence labeling task that directly probes the language models understanding of AST. Our results show that transformer based language models achieve high accuracy in the AST tagging task. Furthermore, we evaluate our model on a software vulnerability identification task. Importantly, we show that our approach obtains vulnerability identification results comparable to graph based approaches that rely heavily on compilers for feature extraction.
Key facts. Cited by 32 papers in the map (data through 7 Oct 2026). First posted on arXiv 22 Jun 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 7; 2022: 14; 2023: 3; 2024: 5; 2025: 1; 2026: 2.
32 papers.
Sort:
- 2022UniXcoder: Unified Cross-Modal Pre-training for Code Representationcited by 355
- 2021CodeNet: A Large-Scale AI for Code Dataset for Learning a Diversity of Coding Taskscited by 199
- 2022VulBERTa: Simplified Source Code Pre-Training for Vulnerability Detectioncited by 51
- 2021D2A: A Dataset Built for AI-Based Vulnerability Detection Methods Using Differential Analysiscited by 48
- 2021What do pre-trained code models know about code?cited by 36
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2021How could Neural Networks understand Programs?cited by 26
- 2024Curriculum Learning for Small Code Language Modelscited by 22
- 2022CodeRetriever: Unimodal and Bimodal Contrastive Learning for Code Searchcited by 21
- 2021VELVET: a noVel Ensemble Learning approach to automatically locate VulnErable sTatementscited by 20
- 2022Deep Learning Meets Software Engineering: A Survey on Pre-Trained Models of Source Codecited by 20
- 2021Towards Learning (Dis)-Similarity of Source Code from Program Contrastscited by 17
20 more
- 2022A Survey on Pretrained Language Models for Neural Code Intelligencecited by 13
- 2021On using distributed representations of source code for the detection of C security vulnerabilitiescited by 10
- 2022Unveiling Code Pre-Trained Models: Investigating Syntax and Semantics Capacitiescited by 9
- 2024PPM: Automated Generation of Diverse Programming Problems for Benchmarking Code Generation Modelscited by 7
- 2022On The Cross-Modal Transfer from Natural Language to Code through Adapter Modulescited by 6
- 2022CommitBART: A Large Pre-trained Model for GitHub Commitscited by 6
- 2022Learning Program Representations with a Tree-Structured Transformercited by 6
- 2022MIXCODE: Enhancing Code Classification by Mixup-Based Data Augmentationcited by 4
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Taskscited by 4
- 2024Assessing the Latent Automated Program Repair Capabilities of Large Language Models using Round-Trip Translationcited by 3
- 2022Semantic-Preserving Adversarial Code Comprehensioncited by 2
- 2023Automated Code generation for Information Technology Tasks in YAML through Large Language Modelscited by 2
- 2025Semantic-Preserving Transformations as Mutation Operators: A Study on Their Effectiveness in Defect Detectioncited by 2
- 2022AstBERT: Enabling Language Model for Financial Code Understanding with Abstract Syntax Treescited by 1
- 2022LAMNER: Code Comment Generation Using Character Language Model and Named Entity Recognitioncited by 1
- 2023Implant Global and Local Hierarchy Information to Sequence based Code Representation Modelscited by 1
- 2024Out of style: Misadventures with LLMs and code style transfercited by 1
- 2022Topical: Learning Repository Embeddings from Source Code using Attentioncited by 0
- 2026Complexity-based code embeddingscited by 0
- 2026VulStyle: A Multi-Modal Pre-Training for Code Stylometry-Augmented Vulnerability Detectioncited by 0
- 2026VulStyle: A Multi-Modal Pre-Training for Code Stylometry-Augmented Vulnerability Detection29 Apr 2026
- 2026Complexity-based code embeddings1 Jan 2026
- 2025Semantic-Preserving Transformations as Mutation Operators: A Study on Their Effectiveness in Defect Detection30 Mar 2025
- 2024Curriculum Learning for Small Code Language Models14 Jul 2024
- 2024Out of style: Misadventures with LLMs and code style transfer14 Jun 2024
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks15 Mar 2024
- 2024PPM: Automated Generation of Diverse Programming Problems for Benchmarking Code Generation Models28 Jan 2024
- 2024Assessing the Latent Automated Program Repair Capabilities of Large Language Models using Round-Trip Translation15 Jan 2024
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review4 Jul 2023
- 2023Automated Code generation for Information Technology Tasks in YAML through Large Language Models2 May 2023
- 2023Implant Global and Local Hierarchy Information to Sequence based Code Representation Models14 Mar 2023
- 2022A Survey on Pretrained Language Models for Neural Code Intelligence20 Dec 2022
20 more
- 2022Unveiling Code Pre-Trained Models: Investigating Syntax and Semantics Capacities20 Dec 2022
- 2022MIXCODE: Enhancing Code Classification by Mixup-Based Data Augmentation6 Oct 2022
- 2022Semantic-Preserving Adversarial Code Comprehension12 Sep 2022
- 2022Topical: Learning Repository Embeddings from Source Code using Attention19 Aug 2022
- 2022Learning Program Representations with a Tree-Structured Transformer18 Aug 2022
- 2022CommitBART: A Large Pre-trained Model for GitHub Commits17 Aug 2022
- 2022VulBERTa: Simplified Source Code Pre-Training for Vulnerability Detection25 May 2022
- 2022Deep Learning Meets Software Engineering: A Survey on Pre-Trained Models of Source Code24 May 2022
- 2022On The Cross-Modal Transfer from Natural Language to Code through Adapter Modules19 Apr 2022
- 2022LAMNER: Code Comment Generation Using Character Language Model and Named Entity Recognition5 Apr 2022
- 2022UniXcoder: Unified Cross-Modal Pre-training for Code Representation8 Mar 2022
- 2022CodeRetriever: Unimodal and Bimodal Contrastive Learning for Code Search26 Jan 2022
- 2022AstBERT: Enabling Language Model for Financial Code Understanding with Abstract Syntax Trees20 Jan 2022
- 2021VELVET: a noVel Ensemble Learning approach to automatically locate VulnErable sTatements20 Dec 2021
- 2021Towards Learning (Dis)-Similarity of Source Code from Program Contrasts8 Oct 2021
- 2021What do pre-trained code models know about code?25 Aug 2021
- 2021On using distributed representations of source code for the detection of C security vulnerabilities1 Jun 2021
- 2021CodeNet: A Large-Scale AI for Code Dataset for Learning a Diversity of Coding Tasks25 May 2021
- 2021How could Neural Networks understand Programs?10 May 2021
- 2021D2A: A Dataset Built for AI-Based Vulnerability Detection Methods Using Differential Analysis16 Feb 2021
- 2022UniXcoder: Unified Cross-Modal Pre-training for Code Representationcited by 355
- 2021CodeNet: A Large-Scale AI for Code Dataset for Learning a Diversity of Coding Taskscited by 199
- 2022VulBERTa: Simplified Source Code Pre-Training for Vulnerability Detectioncited by 51
- 2021D2A: A Dataset Built for AI-Based Vulnerability Detection Methods Using Differential Analysiscited by 48
- 2021What do pre-trained code models know about code?cited by 36
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2021How could Neural Networks understand Programs?cited by 26
- 2024Curriculum Learning for Small Code Language Modelscited by 22
- 2022CodeRetriever: Unimodal and Bimodal Contrastive Learning for Code Searchcited by 21
- 2021VELVET: a noVel Ensemble Learning approach to automatically locate VulnErable sTatementscited by 20
- 2022Deep Learning Meets Software Engineering: A Survey on Pre-Trained Models of Source Codecited by 20
- 2021Towards Learning (Dis)-Similarity of Source Code from Program Contrastscited by 17
12 most cited of 32 All 32 (JSON)
- 2026VulStyle: A Multi-Modal Pre-Training for Code Stylometry-Augmented Vulnerability Detection29 Apr 2026
- 2026Complexity-based code embeddings1 Jan 2026
- 2025Semantic-Preserving Transformations as Mutation Operators: A Study on Their Effectiveness in Defect Detection30 Mar 2025
- 2024Curriculum Learning for Small Code Language Models14 Jul 2024
- 2024Out of style: Misadventures with LLMs and code style transfer14 Jun 2024
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks15 Mar 2024
- 2024PPM: Automated Generation of Diverse Programming Problems for Benchmarking Code Generation Models28 Jan 2024
- 2024Assessing the Latent Automated Program Repair Capabilities of Large Language Models using Round-Trip Translation15 Jan 2024
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review4 Jul 2023
- 2023Automated Code generation for Information Technology Tasks in YAML through Large Language Models2 May 2023
- 2023Implant Global and Local Hierarchy Information to Sequence based Code Representation Models14 Mar 2023
- 2022A Survey on Pretrained Language Models for Neural Code Intelligence20 Dec 2022
12 newest of 32 All 32 (JSON)