z-logo
open-access-imgOpen Access
Comparative analysis of approaches to source code vulnerability detection based on deep learning methods
Author(s) -
Yevhenii Kubiuk,
Gennadiy Kyselov
Publication year - 2021
Publication title -
technology audit and production reserves
Language(s) - English
Resource type - Journals
eISSN - 2706-5448
pISSN - 2664-9969
DOI - 10.15587/2706-5448.2021.233534
Subject(s) - computer science , source code , abstract syntax tree , vulnerability (computing) , vulnerability assessment , code (set theory) , syntax , artificial intelligence , representation (politics) , machine learning , data mining , programming language , computer security , psychology , set (abstract data type) , psychological resilience , psychotherapist , politics , political science , law
The object of research of this work is the methods of deep learning for source code vulnerability detection. One of the most problematic areas is the use of only one approach in the code analysis process: the approach based on the AST (abstract syntax tree) or the approach based on the program dependence graph (PDG).In this paper, a comparative analysis of two approaches for source code vulnerability detection was conducted: approaches based on AST and approaches based on the PDG.In this paper, various topologies of neural networks were analyzed. They are used in approaches based on the AST and PDG. As the result of the comparison, the advantages and disadvantages of each approach were determined, and the results were summarized in the corresponding comparison tables. As a result of the analysis, it was determined that the use of BLSTM (Bidirectional Long Short Term Memory) and BGRU (Bidirectional Gated Linear Unit) gives the best result in terms of problems of source code vulnerability detection. As the analysis showed, the most effective approach for source code vulnerability detection systems is a method that uses an intermediate representation of the code, which allows getting a language-independent tool.Also, in this work, our own algorithm for the source code analysis system is proposed, which is able to perform the following operations: predict the source code vulnerability, classify the source code vulnerability, and generate a corresponding patch for the found vulnerability. A detailed analysis of the proposed system’s unresolved issues is provided, which is planned to investigate in future researches. The proposed system could help speed up the software development process as well as reduce the number of software code vulnerabilities. Software developers, as well as specialists in the field of cybersecurity, can be stakeholders of the proposed system.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here