These labels were automatically added by AI and may be inaccurate. For details, see About Literature Database.
Abstract
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.