<!DOCTYPE article
PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20190208//EN"
       "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.4" xml:lang="en">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">National Security and Strategic Planning</journal-id>
   <journal-title-group>
    <journal-title xml:lang="en">National Security and Strategic Planning</journal-title>
    <trans-title-group xml:lang="ru">
     <trans-title>Национальная безопасность и стратегическое планирование</trans-title>
    </trans-title-group>
   </journal-title-group>
   <issn publication-format="print">2307-1400</issn>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="publisher-id">69882</article-id>
   <article-id pub-id-type="doi">10.37468/2307-1400-2023-1-86-92</article-id>
   <article-categories>
    <subj-group subj-group-type="toc-heading" xml:lang="ru">
     <subject>Информационная безопасность</subject>
    </subj-group>
    <subj-group subj-group-type="toc-heading" xml:lang="en">
     <subject>Information Security</subject>
    </subj-group>
    <subj-group>
     <subject>Информационная безопасность</subject>
    </subj-group>
   </article-categories>
   <title-group>
    <article-title xml:lang="en">Survey of existing methods for detecting source code duplicates</article-title>
    <trans-title-group xml:lang="ru">
     <trans-title>Обзор существующих методов обнаружения дубликатов исходного кода</trans-title>
    </trans-title-group>
   </title-group>
   <contrib-group content-type="authors">
    <contrib contrib-type="author">
     <contrib-id contrib-id-type="orcid">https://orcid.org/0009-0006-5590-5095</contrib-id>
     <name-alternatives>
      <name xml:lang="ru">
       <surname>Яковлев</surname>
       <given-names>Артем Владимирович</given-names>
      </name>
      <name xml:lang="en">
       <surname>Yakovlev</surname>
       <given-names>Artem V.</given-names>
      </name>
     </name-alternatives>
     <email>89062703467@mail.ru</email>
     <xref ref-type="aff" rid="aff-1"/>
    </contrib>
    <contrib contrib-type="author">
     <contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-9412-5693</contrib-id>
     <name-alternatives>
      <name xml:lang="ru">
       <surname>Израилов</surname>
       <given-names>Константин Евгеньевич</given-names>
      </name>
      <name xml:lang="en">
       <surname>Izrailov</surname>
       <given-names>Konstantin E.</given-names>
      </name>
     </name-alternatives>
     <email>konstantin.izrailov@mail.ru</email>
     <bio xml:lang="ru">
      <p>кандидат технических наук;</p>
     </bio>
     <bio xml:lang="en">
      <p>candidate of technical sciences;</p>
     </bio>
     <xref ref-type="aff" rid="aff-2"/>
    </contrib>
   </contrib-group>
   <aff-alternatives id="aff-1">
    <aff>
     <institution xml:lang="ru">Санкт-Петербургский государственный университет телекоммуникаций имени проф. М. А. Бонч-Бруевича</institution>
    </aff>
    <aff>
     <institution xml:lang="en">The Bonch-Bruevich Saint-Petersburg State University of Telecommunications </institution>
    </aff>
   </aff-alternatives>
   <aff-alternatives id="aff-2">
    <aff>
     <institution xml:lang="ru">Санкт-Петербургский Федеральный исследовательский центр Российской академии наук</institution>
     <country>Россия</country>
    </aff>
    <aff>
     <institution xml:lang="en">Saint-Petersburg Federal research center of the Russian academy of sciences</institution>
     <country>Russian Federation</country>
    </aff>
   </aff-alternatives>
   <pub-date publication-format="print" date-type="pub" iso-8601-date="2023-03-31T00:00:00+03:00">
    <day>31</day>
    <month>03</month>
    <year>2023</year>
   </pub-date>
   <pub-date publication-format="electronic" date-type="pub" iso-8601-date="2023-03-31T00:00:00+03:00">
    <day>31</day>
    <month>03</month>
    <year>2023</year>
   </pub-date>
   <volume>2023</volume>
   <issue>1</issue>
   <fpage>86</fpage>
   <lpage>92</lpage>
   <history>
    <date date-type="received" iso-8601-date="2023-09-04T00:00:00+03:00">
     <day>04</day>
     <month>09</month>
     <year>2023</year>
    </date>
   </history>
   <self-uri xlink:href="https://futurepubl.ru/en/nauka/article/69882/view">https://futurepubl.ru/en/nauka/article/69882/view</self-uri>
   <abstract xml:lang="ru">
    <p>Данная работа посвящена решению задачи выявления дубликатов программного обеспечения. Для этого делается краткий обзор существующих методов поиска, состоящих из следующих: текстовый, лексический, синтаксический, метрический, семантический. Затем производится сравнительный анализ методов по следующим критериям: точность, полнота, скорость, ресурсоэкономность, простора реализации; результаты сравнения приводятся в табличном виде. Также рассматриваются перспективные подходы поиска дубликатов, а именно, следующие: машинное обучение, анализ графов, анализ синтаксических деревьев, анализ динамических характеристик, анализ пространственных характеристик, анализ абстрактного синтаксиса. Указываются пути продолжения исследования.</p>
   </abstract>
   <trans-abstract xml:lang="en">
    <p>This work is devoted to solving the identifying software duplicates problem. To do this, a short survey of existing search methods is made, consisting of the following: textual, lexical, syntactic, metric, semantic. Then a comparative analysis of the methods is carried out according to the following criteria: accuracy, completeness, speed, resource efficiency, scope of implementation; the comparison results are given in tabular form. Also, promising approaches for searching for duplicates are considered, namely, the following: machine learning, graph analysis, syntax tree analysis, dynamic characteristics analysis, spatial characteristics analysis, abstract syntax analysis. Ways to continue investigation are indicated.</p>
   </trans-abstract>
   <kwd-group xml:lang="ru">
    <kwd>информационная безопасность</kwd>
    <kwd>поиск дубликатов</kwd>
    <kwd>исходный код</kwd>
    <kwd>защита информации</kwd>
    <kwd>авторские права</kwd>
   </kwd-group>
   <kwd-group xml:lang="en">
    <kwd>information security</kwd>
    <kwd>duplicate search</kwd>
    <kwd>source code</kwd>
    <kwd>information protection</kwd>
    <kwd>copyright</kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <p></p>
 </body>
 <back>
  <ref-list>
   <ref id="B1">
    <label>1.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Абдуллин Т.И., Баев В.Д., Буйневич М.В., Бурзунов Д.Д., Васильева И.Н., Галиуллина Э.Ф. и др. Цифровые технологии и проблемы информационной безопасности: монография. - СПб: СПГЭУ, 2021. - 163 с.</mixed-citation>
     <mixed-citation xml:lang="en">Abdullin T. I., Baev V. D., Buynevich M. V., Burzunov D. D., Vasilieva I. N., and Galiullina E. F. Digital technologies and problems of information security: monograph. - St. Petersburg: SPGEU, 2021. - 163 p.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B2">
    <label>2.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Сойников М.А. Взыскание ущерба, причиненного преступлением против интеллектуальной собственности: процессуальные аспекты // Lex Russica (Русский закон). - 2019. - № 12 (157). - С. 80-86.</mixed-citation>
     <mixed-citation xml:lang="en">Soinikov M.A. Recovery of damage caused by a crime against intellectual property: procedural aspects // Lex Russica (Russian law). - 2019. - No. 12 (157). - P. 80-86.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B3">
    <label>3.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Слета В.Д. Поддержка повторного использования кода на основе онтологического подхода // Современные информационные технологии. - 2010. - № 11. - С. 178-181.</mixed-citation>
     <mixed-citation xml:lang="en">Sleta V.D. Support for code reuse based on the ontological approach // Modern information technologies. - 2010. - No. 11. - P. 178-181.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B4">
    <label>4.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Косолапов Ю.В. Об обнаружении атак типа повторного использования исполнимого кода // Моделирование и анализ информационных систем. - 2019. - Т. 26. - № 2. - С. 213-228.</mixed-citation>
     <mixed-citation xml:lang="en">Kosolapov Yu.V. On detecting attacks such as reuse of executable code // Modeling and analysis of information systems. - 2019. - Vol. 26. - No. 2. - P. 213-228.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B5">
    <label>5.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Буйневич М.В., Израилов К.Е. Основы кибербезопасности: способы анализа программ: учебное пособие. - СПб.: Санкт-Петербургский университет ГПС МЧС России, 2022. - 92 с.</mixed-citation>
     <mixed-citation xml:lang="en">Buynevich M.V., Izrailov K.E. Fundamentals of Cybersecurity: Ways to Analyze Programs: A Study Guide. - St. Petersburg: St. Petersburg University of the State Fire Service of the Ministry of Emergency Situations of Russia, 2022. - 92 p.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B6">
    <label>6.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Буйневич М.В., Израилов К.Е. Основы кибербезопасности: способы защиты от анализа программ: учебное пособие. - СПб.: Санкт-Петербургский университет ГПС МЧС России, 2022. - 76 с.</mixed-citation>
     <mixed-citation xml:lang="en">Buynevich M.V., Izrailov K.E. Fundamentals of cybersecurity: ways to protect against program analysis: a tutorial. - St. Petersburg: St. Petersburg University of the State Fire Service of the Ministry of Emergency Situations of Russia, 2022. - 76 p.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B7">
    <label>7.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Израилов К.Е. Методика оценки эффективности средств алгоритмизации, используемых для поиска уязвимостей // Информатизация и связь. - 2014. - № 3. - С. 39-42.</mixed-citation>
     <mixed-citation xml:lang="en">Izrailov K.E. Methodology for evaluating the effectiveness of algorithmization tools used to search for vulnerabilities // Informatization and communication. - 2014. - No. 3. - pp. 39-42.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B8">
    <label>8.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Романов Н.Е., Израилов К.Е., Покусов В.В. Система поддержки интеллектуального программирования: машинное обучение feat. быстрая разработка безопасных программ // Информатизация и связь. - 2021. - № 5. - С. 7-17. - DOI: 10.34219/2078-8320-2021-12-5-7-16</mixed-citation>
     <mixed-citation xml:lang="en">Romanov N.E., Izrailov K.E., Pokusov V.V. Intelligent Programming Support System: Machine Learning feat. rapid development of secure programs // Informatization and communication. - 2021. - No. 5. - P. 7-17. - DOI: 10.34219/2078-8320-2021-12-5-7-16</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B9">
    <label>9.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Лисс А.Р., Андрианов И.А. Анализ и разработка методов поиска дубликатов в программном коде // Известия СПбГЭТУ ЛЭТИ. - 2010. - № 7. - С. 55-61.</mixed-citation>
     <mixed-citation xml:lang="en">Liss A.R., Andrianov I.A. Analysis and development of methods for searching for duplicates in the program code. - 2010. - No. 7. - pp. 55-61.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B10">
    <label>10.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Демидова Л.А., Советов П.Н., Горчаков А.В. Кластеризация представлений текстов программ на основе цепей Маркова // Вестник Рязанского государственного радиотехнического университета. - 2022. - № 81. - С. 51-64.</mixed-citation>
     <mixed-citation xml:lang="en">Demidova L.A., Sovetov P.N., Gorchakov A.V. Clustering representations of program texts based on Markov chains // Bulletin of the Ryazan State Radio Engineering University. - 2022. - No. 81. - pp. 51-64.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B11">
    <label>11.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Степанов Д.С., Ицыксон В.М. Поиск дубликатов ошибок компиляторов методом генерации программ-свидетелей // Программная инженерия. - 2023. - Т. 14. - № 4. - С. 165-174.</mixed-citation>
     <mixed-citation xml:lang="en">Stepanov D.S., Itsykson V.M. Finding Duplicate Compiler Errors by Generating Witness Programs // Software Engineering. - 2023. - Vol. 14. - No. 4. - pp. 165-174.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B12">
    <label>12.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Гусев С.С. Методы анализа произвольных текстов и исходных кодов программ с точки зрения наличия идентичных фрагментов // Анализ, моделирование, управление, развитие социально-экономических систем (АМУР-2022): сборник научных трудов XVI Международной школы-симпозиума АМУР-2022 (Симферополь-Судак, 14-27 сентября 2022 года), 2022. - С. 124-132.</mixed-citation>
     <mixed-citation xml:lang="en">Gusev S.S. Methods for analyzing arbitrary texts and program source codes from the point of view of the presence of identical fragments // Analysis, modeling, management, development of socio-economic systems (AMUR-2022): collection of scientific papers of the XVI International School-Symposium AMUR-2022 (Simferopol-Sudak, 14 - September 27, 2022), 2022. - pp 124-132.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B13">
    <label>13.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Kotenko I., Izrailov K., Buinevich M. Static Analysis of Information Systems for IoT Cyber Security: A Survey of Machine Learning Approaches // Sensors. - 2022. - Vol. 22. - Iss. 4. - pp. 1335. - DOI: 10.3390/s22041335</mixed-citation>
     <mixed-citation xml:lang="en">Kotenko I., Izrailov K., Buinevich M. Static Analysis of Information Systems for IoT Cyber Security: A Survey of Machine Learning Approaches // Sensors. - 2022. - Vol. 22. - Iss. 4. - pp. 1335. - DOI: 10.3390/s22041335</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B14">
    <label>14.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Израилов К.Е. Моделирование программы с уязвимостями с позиции эволюции ее представлений. Часть 1. Схема жизненного цикла // Труды учебных заведений связи. - 2023. - Т. 9. - № 1. - С. 75-93. - DOI:10.31854/1813-324X-2023-9-1-75-93</mixed-citation>
     <mixed-citation xml:lang="en">Izrailov K.E. Modeling a program with vulnerabilities from the standpoint of the evolution of its ideas. Part 1. Scheme of the life cycle // Proceedings of educational institutions of communication. - 2023. - Vol. 9. - No. 1. - pp. 75-93. - DOI:10.31854/1813-324X-2023-9-1-75-93</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B15">
    <label>15.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Kotenko I., Izrailov K., Buinevich M. Analytical Modeling for Identification of the Machine Code Architecture of Cyberphysical Devices in Smart Homes // Sensors. - 2022. - Vol. 22. - Iss. 3. - pp. 1017. - - DOI: 10.3390/s22031017</mixed-citation>
     <mixed-citation xml:lang="en">Kotenko I., Izrailov K., Buinevich M. Analytical Modeling for Identification of the Machine Code Architecture of Cyberphysical Devices in Smart Homes // Sensors. - 2022. - Vol. 22. - Iss. 3. - pp. 1017. - DOI: 10.3390/s22031017</mixed-citation>
    </citation-alternatives>
   </ref>
  </ref-list>
 </back>
</article>
