mlsanityData to 14 Oct 2026

A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks

arXiv 2403.10646 ↗First posted 15 Mar 2024cs.LG cs.CRcited by 5

Not on the map. Why?

Abstract (arXiv)

Machine learning techniques for cybersecurity-related software engineering tasks are becoming increasingly popular. The representation of source code is a key portion of the technique that can impact the way the model is able to learn the features of the source code. With an increasing number of these techniques being developed, it is valuable to see the current state of the field to better understand what exists and what is not there yet. This article presents a study of these existing machine learning based approaches and demonstrates what type of representations were used for different cybersecurity tasks and programming languages. Additionally, we study what types of models are used with different representations. We have found that graph-based representations are the most popular category of representation, and tokenizers and Abstract Syntax Trees (ASTs) are the two most popular representations overall (e.g., AST and tokenizers are the representations with the highest count of papers, whereas graph-based representations is the category with the highest count of papers). We also found that the most popular cybersecurity task is vulnerability detection, and the language that is covered by the most techniques is C. Finally, we found that sequence-based models are the most popular category of models, and Support Vector Machines are the most popular model overall.

Key facts. Cited by 5 papers in the map (data through 14 Oct 2026). Builds on 60 of its 213 references that are in the map. First posted on arXiv 15 Mar 2024.

Builds on

60 of 213 references.

References · 60

  1. 2013Efficient Estimation of Word Representations in Vector Spacecited by 4,375
  2. 2014Distributed Representations of Sentences and Documentscited by 678
  3. 2021Recent Advances in Natural Language Processing via Large Pre-Trained Language Models: A Surveycited by 463
  4. 2019Devign: Effective Vulnerability Identification by Learning Comprehensive Program Semantics via Graph Neural Networkscited by 272
  5. 2018code2vec: Learning Distributed Representations of Codecited by 250
  6. 2017graph2vec: Learning Distributed Representations of Graphscited by 230
  7. 2018Automated Vulnerability Detection in Source Code Using Deep Representation Learningcited by 114
  8. 2023DiverseVul: A New Vulnerable Source Code Dataset for Deep Learning Based Vulnerability Detectioncited by 102
  9. 2018SySeVR: A Framework for Using Deep Learning to Detect Software Vulnerabilitiescited by 92
  10. 2020Fast WordPiece Tokenizationcited by 87
  11. 2020Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networkscited by 77
  12. 2021Vulnerability Detection with Fine-grained Interpretationscited by 56
38 more
  1. 2022VulBERTa: Simplified Source Code Pre-Training for Vulnerability Detectioncited by 51
  2. 2022Transformer-Based Language Models for Software Vulnerability Detectioncited by 39
  3. 2020word2vec, node2vec, graph2vec, X2vec: Towards a Theory of Vector Embeddings of Structured Datacited by 38
  4. 2020A Survey on Deep Learning for Software Engineeringcited by 38
  5. 2020VulDeeLocator: A Deep Learning-based Fine-grained Vulnerability Detectorcited by 37
  6. 2021Neural Transfer Learning for Repairing Security Vulnerabilities in C Codecited by 36
  7. 2022LineVD: Statement-level Vulnerability Detection using Graph Neural Networkscited by 35
  8. 2018Automated software vulnerability detection with machine learningcited by 34
  9. 2021Combining Graph Neural Networks with Expert Knowledge for Smart Contract Vulnerability Detectioncited by 34
  10. 2020Exploring Software Naturalness through Neural Language Modelscited by 32
  11. 2021ReGVD: Revisiting Graph Neural Networks for Vulnerability Detectioncited by 32
  12. 2016MaMaDroid: Detecting Android Malware by Building Markov Chains of Behavioral Modelscited by 30
  13. 2021Smart Contract Vulnerability Detection: From Pure Neural Network to Interpretable Graph Feature and Expert Pattern Fusioncited by 24
  14. 2021VELVET: a noVel Ensemble Learning approach to automatically locate VulnErable sTatementscited by 20
  15. 2021SPI: Automated Identification of Security Patches via Commitscited by 19
  16. 2019A Literature Study of Embeddings on Source Codecited by 18
  17. 2021Automated Software Vulnerability Assessment with Concept Driftcited by 15
  18. 2021PatchRNN: A Deep Learning-Based System for Security Patch Identificationcited by 13
  19. 2022Cross-Language Binary-Source Code Matching with Intermediate Representationscited by 13
  20. 2021Security Vulnerability Detection Using Deep Learning Natural Language Processingcited by 12
  21. 2017Context-aware, Adaptive and Scalable Android Malware Detection through Online Learning (extended version)cited by 11
  22. 2020SeqTrans: Automatic Vulnerability Fix via Sequence to Sequence Learningcited by 11
  23. 2021DeepCVA: Automated Commit-level Vulnerability Assessment with Deep Multi-task Learningcited by 11
  24. 2021GraphCode2Vec: Generic Code Embedding via Lexical and Program Dependence Analysescited by 11
  25. 2017End-to-End Prediction of Buffer Overruns from Raw Source Code via Neural Memory Networkscited by 10
  26. 2018Overcoming the vanishing gradient problem in plain recurrent networkscited by 10
  27. 2018Improving Vulnerability Inspection Efficiency Using Active Learningcited by 10
  28. 2021On using distributed representations of source code for the detection of C security vulnerabilitiescited by 10
  29. 2020Learning to map source code to software vulnerability using code-as-a-graphcited by 9
  30. 2016Adaptive and Scalable Android Malware Detection through Online Learningcited by 8
  31. 2017A Multi-view Context-aware Approach to Android Malware Detection and Malicious Code Localizationcited by 8
  32. 2022Practical Automated Detection of Malicious npm Packagescited by 8
  33. 2021Eth2Vec: Learning Contract-Wide Code Representations for Vulnerability Detection on Ethereum Smart Contractscited by 7
  34. 2021Shallow or Deep? An Empirical Study on Detecting Vulnerabilities using Deep Learningcited by 7
  35. 2021VulSPG: Vulnerability detection based on slice property graph representation learningcited by 7
  36. 2022Machine Learning for Software Engineering: A Tertiary Studycited by 7
  37. 2020Learning to Catch Security Patchescited by 6
  38. 2022Less is More: Supporting Developers in Vulnerability Detection during Code Reviewcited by 6

50 most cited of 60 All 60 (JSON)

Built on by

Cited by year

Citing papers per year: 2024: 1; 2025: 4.

5 papers.