Prediction of Common Weakness Probability in C/C++ Source Code Using Recurrent Neural Networks
The article considers source code written in C/C++ programming language. The problem is the automatic detection of potential vulnerabilities from the common weakness enumeration. The assumption is that the presence of a vulnerability is determined by the local context. Machine learning approaches ba...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
FRUCT
2017-11-01
|
Series: | Proceedings of the XXth Conference of Open Innovations Association FRUCT |
Subjects: | |
Online Access: | https://fruct.org/publications/abstract21/files/Vyt.pdf
|
id |
doaj-1b4b1039fa3a4a298f15948a77c40c64 |
---|---|
record_format |
Article |
spelling |
doaj-1b4b1039fa3a4a298f15948a77c40c642020-11-24T22:52:32ZengFRUCTProceedings of the XXth Conference of Open Innovations Association FRUCT2305-72542343-07372017-11-0156221525531Prediction of Common Weakness Probability in C/C++ Source Code Using Recurrent Neural NetworksPetr Vytovtov0Kirill Chuvilin1Moscow Institute of Physics and Technology (State University), Moscow, RussiaMoscow Institute of Physics and Technology (State University), Moscow, RussiaThe article considers source code written in C/C++ programming language. The problem is the automatic detection of potential vulnerabilities from the common weakness enumeration. The assumption is that the presence of a vulnerability is determined by the local context. Machine learning approaches based on recurrent neural networks are investigated. The training sample is built from known common weakness fixes in public software code repositories. A new static analysis approach based on recurrent neural networks is proposed. It is tested on source code blocks with different sizes and demonstrates good quality in the terms of accuracy, F1 score, precision and recall. The proposed method can be used as a part of the source code quality analysis system and can be improved for more deeply source code analysis or for collaboration with source code autofixing tools.https://fruct.org/publications/abstract21/files/Vyt.pdf Common Weakness EnumerationRecurrent Neural NetworksStatic Analysis |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Petr Vytovtov Kirill Chuvilin |
spellingShingle |
Petr Vytovtov Kirill Chuvilin Prediction of Common Weakness Probability in C/C++ Source Code Using Recurrent Neural Networks Proceedings of the XXth Conference of Open Innovations Association FRUCT Common Weakness Enumeration Recurrent Neural Networks Static Analysis |
author_facet |
Petr Vytovtov Kirill Chuvilin |
author_sort |
Petr Vytovtov |
title |
Prediction of Common Weakness Probability in C/C++ Source Code Using Recurrent Neural Networks |
title_short |
Prediction of Common Weakness Probability in C/C++ Source Code Using Recurrent Neural Networks |
title_full |
Prediction of Common Weakness Probability in C/C++ Source Code Using Recurrent Neural Networks |
title_fullStr |
Prediction of Common Weakness Probability in C/C++ Source Code Using Recurrent Neural Networks |
title_full_unstemmed |
Prediction of Common Weakness Probability in C/C++ Source Code Using Recurrent Neural Networks |
title_sort |
prediction of common weakness probability in c/c++ source code using recurrent neural networks |
publisher |
FRUCT |
series |
Proceedings of the XXth Conference of Open Innovations Association FRUCT |
issn |
2305-7254 2343-0737 |
publishDate |
2017-11-01 |
description |
The article considers source code written in C/C++ programming language. The problem is the automatic detection of potential vulnerabilities from the common weakness enumeration. The assumption is that the presence of a vulnerability is determined by the local context. Machine learning approaches based on recurrent neural networks are investigated. The training sample is built from known common weakness fixes in public software code repositories. A new static analysis approach based on recurrent neural networks is proposed. It is tested on source code blocks with different sizes and demonstrates good quality in the terms of accuracy, F1 score, precision and recall. The proposed method can be used as a part of the source code quality analysis system and can be improved for more deeply source code analysis or for collaboration with source code autofixing tools. |
topic |
Common Weakness Enumeration Recurrent Neural Networks Static Analysis |
url |
https://fruct.org/publications/abstract21/files/Vyt.pdf
|
work_keys_str_mv |
AT petrvytovtov predictionofcommonweaknessprobabilityinccsourcecodeusingrecurrentneuralnetworks AT kirillchuvilin predictionofcommonweaknessprobabilityinccsourcecodeusingrecurrentneuralnetworks |
_version_ |
1725665560374542336 |