Семантична нормализация върху графови модели при търсене на съвпадения на структури в код
DOI :
https://doi.org/10.55630/mem.2026.55.107-116Ключови думи :
семантична нормализация, графови невронни мрежи, големи езикови модели, структурно съвпадение, анализ на програмен код, откриване на плагиатство, машинно обучение на кодАбстракт
Настоящото изследване предлага иновативен подход за откриване на структурни съвпадения в програмните кодове, който адресира фундаменталното ограничение на съществуващите методи – тяхната чувствителност към синтактични промени, като същевременно се запазва логическа еквивалентност. Разработена е хибридна архитектура, интегрираща семантична нормализация чрез големи езикови модели (LLMs) с многовидово графово представяне (AST, CFG, DFG) и техники за вграждане от Graph Neural – мрежови (GNN) и трансформър модели.
Литература (библиография)
Allen F., Control flow analysis. ACM SIGPLAN Notices, Volume 5, Issue 7, (1970), pp. 1-19, https://doi.org/10.1145/390013.808479
Bahdanau D., Cho. K., Benigo Y., Neural Machine Translation by Jointly Learning to Align and Translate, (2014), https://doi.org/10.48550/arXiv.1409.0473.
Bishop, C. M., Pattern Recognition and Machine Learning (Information Science and Statistics), Springer, (2006), ISBN 978-1-4939-3843-8
Donchev, I., An alternative to virtual functions in modern C++. Application in training, Mathematics, Computer Science and Education, Vol. 8, Issue 2, (2025), pp. 144-159
Dulucq S., Touzet H., Analysis of Tree Edit Distance Algorithms, Combinatorial Pattern Matching, 14th Annual Symposium, CPM 2003, Morelia, Michocán, Mexico, June 25-27, (2003), pp. 83-95, DOI: 10.1007/3-540-44888-87
Halder R., Cortesi A., Abstract program slicing on dependence condition graphs, Science of Computer Programming, 78(9), (2013), pp. 1240-1263, DOI: 10.1016/j.scico.2012.05.007
John K., Potika K. (2025). Diverse GNN Encoder-Decoder for Graph Anomaly Detection, IEEE Conference on Artificial Intelligence (CAI), Santa Clara, CA, USA: IEEE, (2025), DOI: 10.1109/CAI64502.2025.00021, pp. 89-94
Prechelt L, Malpohl G, Philippsen M., Finding Plagiarisms among a Set of Programs with JPlag, JUCS – Journal of Universal Computer Science, 8(11), (2002), pp. 1016-1038, https://doi.org/10.3217/jucs-008-11-1016
Li Y., Tarlow D., Brockschmidt M., Zemel R., Gated Graph Sequence Neural Networks, (2017), https://doi.org/10.48550/arXiv.1511.05493
Lubin J., Ferguson J., Ye K., Yim J., Chasins E. S., Equivalence by Canonicalization for Synthesis-Backed Refactoring. Proceedings of the ACM on Programming Languages, Volume 8, Issue PLDI, (2004), 1879-2004.
Petrov M., A model of a two-stage classification system for glial tumors in magnetic resonance imaging, International Conference AUTOMATICS AND INFORMATICS‘2023, Varna, October 05 – 07, (2023), DOI: 10.1109/ICAI58806.2023.10339009
Putra I. S., Rukmono S., Perdana S. R., Abstract Syntax Tree (AST) and Control Flow Graph (CFG) Construction of Notasi Algoritmik, International Conference on Data and Software Engineering (ICoDSE), Bandung, Indonesia: IEEE, (2021), DOI: 10.1109/ICoDSE53690.2021.9648437
Sendjaja K., Rukmono. A. S., Perdana S. R., Evaluating Control-Flow Graph Similarity for Grading Programming Exercises, International Conference on Data and Software Engineering (ICoDSE), Bandung Indonesia: IEEE, (2021), pp.1-6, DOI: 10.1109/ICoDSE53690.2021.9648464
Wang W., Li G., Ma B., Xia X., Jin Z., Detecting Code Clones with Graph Neural Network and Flow-Augmented Abstract Syntax Tree, IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER), (2020), pp. 261-271, DOI: 10.1109/SANER48275.2020.9054857