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

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Casey, Beatrice, Santos, Joanna C. S., Perry, George
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866913785174818816
author Casey, Beatrice
Santos, Joanna C. S.
Perry, George
author_facet Casey, Beatrice
Santos, Joanna C. S.
Perry, George
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2403_10646
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks
Casey, Beatrice
Santos, Joanna C. S.
Perry, George
Machine Learning
Cryptography and Security
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.
title A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks
topic Machine Learning
Cryptography and Security
url https://arxiv.org/abs/2403.10646