title: ÐÐµÑÐ¾Ð´ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑ Ð¾Ð¶ÐµÑÑÐ¸ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½ÑÑ ÐºÐ¾Ð´Ð¾Ð² Ð½Ð° Ð±Ð°Ð·Ðµ Ð³ÑÐ°ÑÐ¾Ð²Ð¾Ð¹ Ð½ÐµÐ¹ÑÐ¾Ð½Ð½Ð¾Ð¹ ÑÐµÑÐ¸
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Method for determining the similarity of program codes based on a graph neural network
Creators: name: ÐÑÐ»Ð°Ñ, ÐÐ½Ð´ÑÐµÐ¹
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2024
Subjects: ÐÐ»Ð¾Ð½ ÐºÐ¾Ð´Ð°
Ð¿Ð¾Ð¸ÑÐº ÐºÐ»Ð¾Ð½Ð¾Ð² ÐºÐ¾Ð´Ð°
fa-aast Ð³ÑÐ°ÑÐ¾Ð²Ð°Ñ Ð½ÐµÐ¹ÑÐ¾Ð½Ð½Ð°Ñ ÑÐµÑÑ
Ð¡ode clone
code clone search
fa-aast graph neural network

description: Ð¢ÐµÐ¼Ð° Ð²ÑÐ¿ÑÑÐºÐ½Ð¾Ð¹ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÑ: Â«ÐÐµÑÐ¾Ð´ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑÐ¾Ð¶ÐµÑÑÐ¸ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½ÑÑ ÐºÐ¾Ð´Ð¾Ð² Ð½Ð° Ð±Ð°Ð·Ðµ Ð³ÑÐ°ÑÐ¾Ð²Ð¾Ð¹ Ð½ÐµÐ¹ÑÐ¾Ð½Ð½Ð¾Ð¹ ÑÐµÑÐ¸Â». Ð¦ÐµÐ»Ñ Ð½Ð°ÑÑÐ¾ÑÑÐµÐ¹ Ð´Ð¸Ð¿Ð»Ð¾Ð¼Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÑ â ÑÑÐ¾ Ð¿ÑÐ¾ÑÐ¸Ð²Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ðµ Ð¿Ð¾Ð²ÑÐ¾ÑÐ½Ð¾Ð¹ ÑÐºÑÐ¿Ð»ÑÐ°ÑÐ°ÑÐ¸Ð¸ ÑÑÐ·Ð²Ð¸Ð¼Ð¾ÑÑÐµÐ¹, ÑÐ¾Ð´ÐµÑÐ¶Ð°ÑÐ¸ÑÑÑ Ð² Ð´ÑÐ±Ð»Ð¸ÑÐ¾Ð²Ð°Ð½Ð½ÑÑ ÑÑÐ°Ð³Ð¼ÐµÐ½ÑÐ¾Ð² Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð° ÐÐ»Ñ Ð´Ð¾ÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑÐ°Ð²Ð»ÐµÐ½Ð½Ð¾Ð¹ ÑÐµÐ»Ð¸ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾ ÑÐµÑÐ¸ÑÑ ÑÐ»ÐµÐ´ÑÑÑÐ¸Ðµ Ð·Ð°Ð´Ð°ÑÐ¸: - Ð²ÑÐ¿Ð¾Ð»Ð½Ð¸ÑÑ ÐºÐ»Ð°ÑÑÐ¸ÑÐ¸ÐºÐ°ÑÐ¸Ñ ÑÐ¸Ð¿Ð¾Ð² Ð´ÑÐ±Ð»Ð¸ÑÐ¾Ð²Ð°Ð½Ð½ÑÑ ÑÑÐ°Ð³Ð¼ÐµÐ½ÑÐ¾Ð² Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð°; - Ð¿ÑÐ¾Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð¼ÐµÑÐ¾Ð´Ñ Ð²ÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð´ÑÐ±Ð»Ð¸ÑÐ¾Ð²Ð°Ð½Ð½ÑÑ ÑÑÐ°Ð³Ð¼ÐµÐ½ÑÐ¾Ð² Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð°; - ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°ÑÑ Ð¼ÐµÑÐ¾Ð´ Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¸Ñ Ð´ÑÐ±Ð»Ð¸ÑÐ¾Ð²Ð°Ð½Ð½ÑÑ ÑÑÐ°Ð³Ð¼ÐµÐ½ÑÐ¾Ð² Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð° Ð±Ð¸Ð½Ð°ÑÐ½ÑÑ Ð¸ÑÐ¿Ð¾Ð»Ð½ÑÐµÐ¼ÑÑ ÑÐ°Ð¹Ð»Ð¾Ð²; - Ð²ÑÐ¿Ð¾Ð»Ð½Ð¸ÑÑ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ Ð¿ÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¼ÐµÑÐ¾Ð´Ð° Ð¸ ÐµÐ³Ð¾ ÑÑÐ°Ð²Ð½Ð¸ÑÐµÐ»ÑÐ½ÑÐ¹ Ð°Ð½Ð°Ð»Ð¸Ð· Ñ ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ð¼Ð¸ ÑÐµÑÐµÐ½Ð¸ÑÐ¼Ð¸. Ð ÑÐ¾Ð´Ðµ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ»Ð¸ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ñ Ð¾ÑÐ½Ð¾Ð²Ð½ÑÐµ Ð¿Ð¾Ð´ÑÐ¾Ð´Ñ Ð¿Ð¾ Ð½Ð°ÑÐ¾Ð¶Ð´ÐµÐ½Ð¸Ñ ÐºÐ»Ð¾Ð½Ð¾Ð² ÐºÐ¾Ð´Ð°. ÐÑÐ» ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½ ÑÐ¾Ð±ÑÑÐ²ÐµÐ½Ð½ÑÐ¹ Ð¼ÐµÑÐ¾Ð´ Ð¾ÑÐµÐ½ÐºÐ¸ ÑÑÐ¾Ð¶ÐµÑÑÐ¸ ÑÑÐ°Ð³Ð¼ÐµÐ½ÑÐ¾Ð² Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½ÑÑ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½ÑÑ ÐºÐ¾Ð´Ð¾Ð², Ð¾Ð±ÐµÑÐ¿ÐµÑÐ¸Ð²Ð°ÑÑÐ¸Ð¹ Ð²ÑÑÐ²Ð»ÐµÐ½Ð¸Ðµ Ð²ÑÐµÑ ÑÐ¸Ð¿Ð¾Ð² ÐºÐ»Ð¾Ð½Ð¾Ð², Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸ÐµÐ¼ Ð³ÑÐ°ÑÐ¾Ð²ÑÑ Ð½ÐµÐ¹ÑÐ¾Ð½Ð½ÑÑ ÑÐµÑÐµÐ¹. Ð ÐµÐ·ÑÐ»ÑÑÐ°ÑÑ, Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½ÑÐµ Ð² ÑÐ¾Ð´Ðµ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° ÐÐ Ñ Ð¾ÑÐºÑÑÑÑÐ¼ Ð¸ Ð·Ð°ÐºÑÑÑÑÐ¼ Ð¸ÑÑÐ¾Ð´Ð½ÑÐ¼ ÐºÐ¾Ð´Ð¾Ð¼, Ð´ÐµÐ¼Ð¾Ð½ÑÑÑÐ¸ÑÑÑ ÐºÐ¾ÑÑÐµÐºÑÐ½Ð¾ÑÑÑ ÑÐ°Ð±Ð¾ÑÑ Ð¿ÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¼ÐµÑÐ¾Ð´Ð° Ð¸ Ð±Ð¾Ð»ÐµÐµ Ð²ÑÑÐ¾ÐºÑÑ ÑÐ¾ÑÐ½Ð¾ÑÑÑ Ð² ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ð¸ Ñ ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ð¼Ð¸ ÑÐµÑÐµÐ½Ð¸ÑÐ¼Ð¸.
description: Topic of the final qualifying work: âMethod for determining the similarity of program codes based on a graph neural network.â The purpose of this thesis is to counter the re-exploitation of vulnerabilities contained in duplicate fragments of program code To achieve this goal, it is necessary to solve the following tasks: - perform a classification of types of duplicate program code fragments; - analyze methods for identifying duplicate program code fragments; - develop a method for detecting duplicate fragments of recovered program code of binary executable files; - perform testing of the proposed method and its comparative analysis with existing solutions. During the work, the main approaches to finding code clones were investigated. We developed our own method for assessing the similarity of fragments of recovered program codes, which ensures the identification of all types of clones, using graph neural networks. The results obtained during testing on open and closed source software demonstrate the correct operation of the proposed method and higher accuracy in comparison with existing solutions.