Тип публикации: статья из журнала
Год издания: 2025
Идентификатор DOI: 10.17513/snt.40500
Ключевые слова: neural network, analysis, error, code, variable, training, graph, probability, нейронная сеть, анализ, ошибка, код, переменная, обучение, граф, вероятность
Аннотация: С быстрым развитием информационных технологий программное обеспечение играет важную роль в различных аспектах и сферах жизнедеятельности человека, в то же время потенциальные проблемы безопасности становятся все более серьезными и комплексными. С усложнением требований к программному коду, появлением новых рисков и угроз в цифровойПоказать полностьюсфере, традиционных методов анализа и контроля становится недостаточно. В связи с этим цель статьи заключается в исследовании возможности применения нейронных сетей для задач статического анализа кода и особенностей решения ими проблем, присущих классическим статическим анализаторам, а также в изучении практической реализации статического анализа кода с помощью графовой нейронной сети. Применены методы: системный анализ, моделирование, прогнозирование, численная оптимизация, теория вероятности, систематизация, обобщение. В процессе исследования детально описаны возможности нейронных сетей в статическом анализе кода. Также выделены сферы проверки кода, в которых нейронные сети могут найти свое широкое применение. Отдельное внимание уделено сравнению архитектур нейронных сетей для целей статического анализа, рассмотрены такие модели, как многослойный перцептрон, рекуррентная нейронная сеть, графовая нейронная сеть. Практические аспекты использования нейронного инструментария машинного обучения в программировании рассмотрены на примере поиска неправильного использования переменных в коде на базе графовой нейронной сети. Применение нейронных сетей для статистического анализа кода позволяет снизить количество ложноположительных результатов и повысить уровень истинно положительных обнаружений ошибок и неточностей в его написании. With the rapid development of information technology, software plays an important role in various aspects and spheres of human life, while potential security problems are becoming increasingly serious and complex. With the increasing complexity of software code requirements and the emergence of new risks and threats in the digital sphere, traditional methods of analysis and control are becoming insufficient. In this regard, the aim of this article was to consider the features of using neural networks in the process of static code analysis as a potential way to solve problems present in classical approaches, as well as to study the practical aspects of its implementation using the example of a graph neural network. Materials and methods: system analysis, modelling, forecasting, numerical optimisation, probability theory, systematisation, generalisation. The study describes in detail the capabilities of neural networks in static code analysis. It also highlights areas of code verification where neural networks can find wide application. Special attention is paid to comparing neural network architectures for static analysis, considering models such as multilayer perceptrons, recurrent neural networks, and graph neural networks. Practical aspects of using machine learning neural tools in programming are considered using the example of searching for incorrect use of variables in code based on a graph neural network. The use of neural networks for statistical code analysis reduces the number of false positives and increases the level of true positives in detecting errors and inaccuracies in code.
Журнал: Современные наукоемкие технологии
Выпуск журнала: № 9
Номера страниц: 152-158
ISSN журнала: 18127320
Место издания: Москва
Издатель: ООО "Издательский дом "Академия естествознания"