title: ÐÐ²ÑÐ¾Ð¼Ð°ÑÐ¸Ð·Ð°ÑÐ¸Ñ Ð¿Ð¾Ð¸ÑÐºÐ° Ð¸ ÑÑÑÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑÑÐ·Ð²Ð¸Ð¼Ð¾ÑÑÐµÐ¹ Ð² Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð¼ ÐºÐ¾Ð´Ðµ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Automation of search and elimination of vulnerabilities in software source code
Creators: name: Ð¨Ð¸ÑÐ³Ð°Ð·Ð¸Ð½, Ð ÑÑÐ»Ð°Ð½
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2020
Subjects: Ð»ÐµÐºÑÐ¸ÑÐµÑÐºÐ¸Ð¹ Ð°Ð½Ð°Ð»Ð¸Ð·
Ð²ÐµÐºÑÐ¾ÑÐ½Ð¾Ðµ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ðµ
ÑÐµÐ¼Ð°Ð½ÑÐ¸ÑÐµÑÐºÐ¾Ðµ Ð¾ÑÐ½Ð¾ÑÐµÐ½Ð¸Ðµ
Ð³Ð»ÑÐ±Ð¾ÐºÐ¾Ðµ Ð¾Ð±ÑÑÐµÐ½Ð¸Ðµ
Ð½ÐµÐ¹ÑÐ¾Ð½Ð½Ð°Ñ ÑÐµÑÑ Ð´Ð¾Ð»Ð³Ð¾Ð¹ ÐºÑÐ°ÑÐºÐ¾ÑÑÐ¾ÑÐ½Ð¾Ð¹ Ð¿Ð°Ð¼ÑÑÐ¸
Ð¼ÐµÑÑÐ¸ÐºÐ¸ Ð² Ð·Ð°Ð´Ð°ÑÐ°Ñ Ð¼Ð°ÑÐ¸Ð½Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÑÑÐµÐ½Ð¸Ñ
Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¸Ðµ ÑÑÐ·Ð²Ð¸Ð¼Ð¾ÑÑÐµÐ¹ Ð² Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð¼ ÐºÐ¾Ð´Ðµ
ÑÑÐ°ÑÐ¸ÑÑÐ¸ÑÐµÑÐºÐ¸Ð¹ Ð°Ð½Ð°Ð»Ð¸Ð·
lexical analysis
vector representation
semantic relation
deep learning
neural network of long-term short-term memory
metrics in tasks of machine learning
detection of vulnerabilities in source code
statistical analysis

description: Ð Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÐµ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÐµÐ½Ð¾ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÐ¸ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑÐ°ÑÐ¸ÑÐµÑÐºÐ¾Ð³Ð¾ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð¸ÑÑÐ¾Ð´Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð° Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐ¸Ð²Ð°Ð½Ð¸Ñ Ñ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸ Ð³Ð»ÑÐ±Ð¾ÐºÐ¾Ð³Ð¾ Ð¾Ð±ÑÑÐµÐ½Ð¸Ñ. ÐÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¾ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¼ÐµÑÐ¾Ð´Ð¾Ð² Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÐµÑÑÐµÑÑÐ²ÐµÐ½Ð½ÑÑ ÑÐ·ÑÐºÐ¾Ð² Ð¸ ÑÐ·ÑÐºÐ¾Ð² Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ. Ð Ð°ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð° Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð°ÑÑÐ¾ÑÐ¸Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ Ð¸Ñ Ð´ÑÑÐ³ Ñ Ð´ÑÑÐ³Ð¾Ð¼. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½ Ð¼ÐµÑÐ¾Ð´ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ÑÑÐ¾Ð´Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð° Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ñ, ÑÐ¾ÑÑÐ°Ð½ÑÑÑÐ¸Ð¹ ÑÐµÐ¼Ð°Ð½ÑÐ¸ÑÐµÑÐºÐ¸Ðµ Ð¾ÑÐ½Ð¾ÑÐµÐ½Ð¸Ñ. ÐÐµÑÐ¾Ð´ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÑÐµÑ ÑÐ¾Ð±Ð¾Ð¹ Ð¿Ð¾ÑÐ»ÐµÐ´Ð¾Ð²Ð°ÑÐµÐ»ÑÐ½Ð¾Ðµ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð»ÐµÐºÑÐ¸ÑÐµÑÐºÐ¾Ð³Ð¾ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð¸ Ð²ÐµÐºÑÐ¾ÑÐ½Ð¾Ð³Ð¾ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ word2vec. ÐÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ñ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐµ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÑ Ð³Ð»ÑÐ±Ð¾ÐºÐ¾Ð³Ð¾ Ð¾Ð±ÑÑÐµÐ½Ð¸Ñ. ÐÐ°Ð¸Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð´ÑÐ¾Ð´ÑÑÐµÐ¹ Ð¾ÐºÐ°Ð·Ð°Ð»ÑÑ Ð½ÐµÐ¹ÑÐ¾ÑÐµÑÑ Ð´Ð¾Ð»Ð³Ð¾ÑÑÐ¾ÑÐ½Ð¾Ð¹ ÐºÑÐ°ÑÐºÐ¾ÑÑÐ¾ÑÐ½Ð¾Ð¹ Ð¿Ð°Ð¼ÑÑÐ¸. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½ Ð¼Ð°ÐºÐµÑ ÑÐ¸ÑÑÐµÐ¼Ñ Ð²ÑÑÐ²Ð»ÐµÐ½Ð¸Ñ ÑÑÐ°ÑÑÐºÐ¾Ð² ÐºÐ¾Ð´Ð°, ÑÐ¾Ð´ÐµÑÐ¶Ð°ÑÐ¸Ðµ ÑÑÐ·Ð²Ð¸Ð¼Ð¾ÑÑÐ¸, Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð½ÑÐ¹ Ð½Ð° Ð²ÑÐ±ÑÐ°Ð½Ð½Ð¾Ð¹ Ð¼Ð¾Ð´ÐµÐ»Ð¸ Ð³Ð»ÑÐ±Ð¾ÐºÐ¾Ð³Ð¾ Ð¾Ð±ÑÑÐµÐ½Ð¸Ñ, Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÑÑÐ¸Ð¹ Ð½Ð° Ð²ÑÐ¾Ð´ Ð²ÐµÐºÑÐ¾ÑÐ½Ð¾Ðµ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð°. ÐÑÐµÐ½ÐµÐ½Ð° ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ð¾ÑÑÑ ÑÐ°Ð±Ð¾ÑÑ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ð¼Ð°ÐºÐµÑÐ° Ð¸ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ ÐµÐ³Ð¾ Ð´Ð»Ñ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸Ð·Ð°ÑÐ¸Ð¸ Ð¸ Ð¾Ð¿ÑÐ¸Ð¼Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð¿ÑÐ¾ÑÐµÑÑÐ° Ð°Ð½Ð°Ð»Ð¸Ð·Ð° ÐºÐ¾Ð´Ð° Ð¸ ÐµÐ³Ð¾ Ð¸ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ.
description: In this work we present the study of the possibility of combining static analysis of software source code with methods of deep learning. Methods of representing natural languages and programming languages are studied. The possibility of associating them with each other is considered. A method of representing program source code preserving semantic relations is developed. The method is a consistent application of lexical analysis and vector representation of word2vec. Various architectures of deep learning are studied. A neural network of long-term short-term memory proved to be the most suitable one. A model of the system of detecting code fragments containing vulnerabilities based on the chosen model of deep learning accepting vector representation of program code as input is developed. The efficiency of this model's work and the possibility of using it to automate and optimize the process of code analysis and correction was estimated.