A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks
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 the...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | 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's not there yet. This paper presents a study of
these existing ML-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. 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 (SVMs) are the most popular model overall. |
---|---|
DOI: | 10.48550/arxiv.2403.10646 |