Автоматизоване визначення авторства програмного коду на основі системи метрик
DOI:
https://doi.org/10.15407/intechsys.2025.02.081Ключові слова:
метрики, атрибуція, вихідний код, визначення авторстваАнотація
Вступ. Визначення авторства програмного коду набуває важливого значення в сучасних умовах, коли зростає кількість кіберзагроз, актуалізується захист авторських прав і забезпечення академічної доброчесності. У статті продемонстровано метод автоматизованого визначення авторства програмного забезпечення шляхом аналізу вихідного коду. Метод розширює систему метрик, що застосована в методі «відбитків» програми, що дозволяє працювати з мультимовними проєктами. Ці метрики використовуються для створення «профілів авторів» на основі наявного коду програміста, що дозволяє перевіряти авторство в інших програмних проєктах.
Мета статті. Метою дослідження є підвищення точності визначення авторства програмного коду шляхом розроблення методу, адаптованого під будь-які мови програмування.
Методи. Метод автоматизованого визначення авторства програмного коду розроблено на основі системи метрик, що включають чотири категорії базових метрик: ключові слова, операційні символи, розділові символи та імена ідентифікаторів, а також спеціальні метрики. Для визначення авторства збираються програмні проєкти з достовірною інформацією про авторство, обчислюються значення базових та спеціальних метрик цих проєктів, після чого формуються профілі авторів на основі середніх значень цих метрик. Подальше порівняння значень метрик досліджуваного коду з метриками з профілей авторів дозволяє ідентифікувати автора коду.
Результат. В роботі проведено огляд існуючих методів автоматизованого визначення авторства програмного коду, після чого запропоновано власний метод на основі використання системи метрик. Запропонований метод використовує систему метрик, в основу якої покладено метод «відбитків». Метрики відображають індивідуальні стилістичні особливості програміста незалежно від мови програмування.
Висновки. Матеріали статті будуть корисними при вирішенні задач автоматизованого визначення авторства програмного коду.
Посилання
Frantzeskou G., Stamatatos E., Gritzalis S., Chaski C. Identifying Authorship by Byte-Level N-Grams: The Source Code Author Profile (SCAP) Method. International Journal of Digital Evidence, Trier, Germany, 2007, Vol. 6 ( 1), 139–148. URL: https://www.researchgate.net/publication/220542545_Identifying_Authorship_by_Byte-Level_N-Grams_The_Source_Code_Author_Profile_SCAP_Method [Accessed 12 Nov. 2024].
Frantzeskou G., MacDonell S., Stamatatos E., Georgiou S., Gritzalis S. The significance of user-defined identifiers in Java source code authorship identification Computer Systems Science and Engineering. Samos, Greece, 2011.
GrayA., Sallis P., MacDonell S. IDENTIFIED (Integrated Dictionary-based Extraction of Non-language-dependent Token Information for Forensic Identification, Examination, and Discrimination): a dictionary-based system for extracting source code metrics for software forensics. IEEE Computer Society Press, Dunedin, New Zealand, 1998, 252–259 pp. https://doi.org/10.1109/SEEP.1998.707658
Sallis P., Aakjaer A., MacDonell S. Software Forensics: Old Methods for a New Science. IEEE Computer Society Press, Dundin, New Zealand, 1998, 367–371 pp. https://doi.org/10.1109/SEEP.1996.534037
Ding H., Samadzadeh M.H. Extraction of Java program fingerprints for software authorship identification. The Journal of Systems and Software, 2004, Vol. 72 (1), 49–57. https://doi.org/10.1016/S0164-1212(03)00049-9
Abuhamad M., AbuHmed T., Mohaisen A., Nyang, D.H. Large-scale and language-oblivious code authorship identification. Proceedings of the ACM SIGSAC Conference on Computer and Communications Security, 2018, 101-114. https://doi.org/10.1145/3243734.3243738
Daya G. et al. GraphCodeBERT: Pre-training Code Representations with Data Flow Proceedings of the ICLR 2021. URL: https://www.researchgate.net/publication/344294734_GraphCodeBERT_Pre-training_Code_Representations_with_Data_Flow [Accessed 14 Nov. 2024]
Abbasi A., Javed A.R., Iqbal F. et al. Authorship identification using ensemble learning. Scientific Reports, 2022, Issue 12. https://doi.org/10.1038/s41598-022-13690-4
Downloads
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2025 Information Technologies and Systems (Інформаційні технології та системи)

Ця робота ліцензується відповідно до Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Стаття публікується на умовах відкритого доступу за ліцензією CC BY-NC-ND 4.0 - Із Зазначенням Авторства – Некомерційною – Без Похідних 4.0 Міжнародною.