Comparative analysis of approaches to source code vulnerability detection based on deep learning methods

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 depen...

Full description

Bibliographic Details
Main Authors: Yevhenii Kubiuk, Gennadiy Kyselov
Format: Article
Language:English
Published: PC Technology Center 2021-06-01
Series:Technology Audit and Production Reserves
Subjects:
Online Access:http://journals.uran.ua/tarp/article/view/233534
id doaj-4fef16cc488d4e43b6799efaa4780a49
record_format Article
spelling doaj-4fef16cc488d4e43b6799efaa4780a492021-07-01T09:10:35ZengPC Technology CenterTechnology Audit and Production Reserves2664-99692706-54482021-06-0132(59)192310.15587/2706-5448.2021.233534271170Comparative analysis of approaches to source code vulnerability detection based on deep learning methodsYevhenii Kubiuk0https://orcid.org/0000-0002-7086-0976Gennadiy Kyselov1https://orcid.org/0000-0003-2682-3593National Technical University of Ukraine «Igor Sikorsky Kyiv Polytechnic Institute»National Technical University of Ukraine «Igor Sikorsky Kyiv Polytechnic Institute»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.http://journals.uran.ua/tarp/article/view/233534ast-based approachesprogram dependence graph-based approachescode analysis
collection DOAJ
language English
format Article
sources DOAJ
author Yevhenii Kubiuk
Gennadiy Kyselov
spellingShingle Yevhenii Kubiuk
Gennadiy Kyselov
Comparative analysis of approaches to source code vulnerability detection based on deep learning methods
Technology Audit and Production Reserves
ast-based approaches
program dependence graph-based approaches
code analysis
author_facet Yevhenii Kubiuk
Gennadiy Kyselov
author_sort Yevhenii Kubiuk
title Comparative analysis of approaches to source code vulnerability detection based on deep learning methods
title_short Comparative analysis of approaches to source code vulnerability detection based on deep learning methods
title_full Comparative analysis of approaches to source code vulnerability detection based on deep learning methods
title_fullStr Comparative analysis of approaches to source code vulnerability detection based on deep learning methods
title_full_unstemmed Comparative analysis of approaches to source code vulnerability detection based on deep learning methods
title_sort comparative analysis of approaches to source code vulnerability detection based on deep learning methods
publisher PC Technology Center
series Technology Audit and Production Reserves
issn 2664-9969
2706-5448
publishDate 2021-06-01
description 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.
topic ast-based approaches
program dependence graph-based approaches
code analysis
url http://journals.uran.ua/tarp/article/view/233534
work_keys_str_mv AT yevheniikubiuk comparativeanalysisofapproachestosourcecodevulnerabilitydetectionbasedondeeplearningmethods
AT gennadiykyselov comparativeanalysisofapproachestosourcecodevulnerabilitydetectionbasedondeeplearningmethods
_version_ 1721347147274649600