본문 바로가기
KERD
논문KCI 등재

소스코드 유사성 평가에서 딥러닝 활용 방안

Application of Deep Learning in Source Code Similarity Assessment

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

소스 코드 유사성을 평가하는 데 딥러닝을 적용하는 것은 최근 몇 년 동안 관심 분야로 떠오르고 있다. 이러한 접근 방식은 딥러닝 모델이 소스 코드의 다양한 표현에서 자동으로 학습하고 기능을 추출하는 능력을활용하여 유사성 탐지 작업의 정확도와 효율성을 개선할 수 있다는 측면에서 매우 긍정적이기는 하지만, 딥러닝을 활용한 유사도 감정은 결과의 정확성, 공정성, 해석 가능성에 대한 문제를 안고 있다. 본 논문에서는딥러닝 기반 소프트웨어 유사도 평가 기법과 관련된 문제를 생각해 보고, 기술적 관점에서 딥러닝 모델이 소프트웨어 감정에 활용되기 위해 필요한 개선 방안에 대해 논의해 본다. 본 연구는 딥러닝 기반 소프트웨어유사도 감정이 산업적으로 효율적이면서도 법적 분쟁을 최소화하기 위한 실질적인 방안을 모색해 보는데 그목적이 있다. 개선 방안으로 하이브리드 접근법 도입, 데이터셋 증강 및 레이블링 자동화, 모델 경량화 및 효율적 학습, 설명 가능 AI (XAI) 도입 등과 함께 신뢰성 향상을 위해 다양한 평가 지표의 활용 시나리오를 제시한다.

Abstract

Recentlry, the application of deep learning to assess source code similarity has been an area of interest. Although this approach is very promising in that it can improve the accuracy and efficiency of similarity detection tasks by leveraging the ability of deep learning models to automatically learn and extract features from various representations of source code, similarity assessment using deep learning has issues regarding the accuracy, fairness, and interpretability of the results. This paper considers the issues related to deep learning-based software similarity assessment techniques and discusses the improvements required for deep learning models to be used in software assessment from a technical perspective. This study aims to provide a practical method for deep learning-based software similarity assessment to be industrially efficient while minimizing legal disputes. Suggested improvements include introducing a hybrid approach, automating dataset augmentation and labeling, lightweighting and efficient learning of models, and introducing explainable AI. In addition, we present scenarios for utilizing various evaluation indicators to improve reliability.

참고문헌 (18)

  1. I. Goodfellow, "Deep Learning" (2016), MIT Press
  2. X. Wu, "Research and Implementation of Code Similarity Detection Technology Based on Deep Learning", Proceedings of International Conference on Cloud Computing and Intelligent Systems (CCIS), pp.235~239 (2023)
  3. K. S. Tai, "Improved semantic representations from tree-structured long short-term memory networks", Proceedings of the international joint conference on Natural Language Processing, pp.1556~1566 (2015)
  4. "AI language model that understands source code and detects vulnerabilities"[URL]
  5. V. Suttichaya, "Source Code Plagiarism Detection Based on Abstract Syntax Tree Fingerprintings", Proceedings of International Joint Symposium on Artificial Intelligence and Natural Language Processing (iSAI-NLP) (2022)
  6. S. Yang, "Asteria : Deep Learning-based AST-Encoding for Cross-platform Binary Code Similarity Detection", Proceedings of the International Conference on Dependable Systems and Networks, pp.224~236 (2021)
  7. M. Chilowicz, "Syntax tree fingerprinting for source code similarity detection", Proceedings of the International Conference on Program Comprehension (2009)
  8. N. Bibi, "Enhancing Semantic Code Search With Deep Graph Matching", IEEE Access, 11, pp.52392~52411 (2023)[DOI]
  9. G. Zhao, "DeepSim : deep learning code functional similarity", Proceedings of the 26th ACM Joint Meeting on European Software Engineering Conference, pp.141~151 (2018)
  10. D. K. Kim, "A Deep Neural Network-Based Approach to Finding Similar Code Segments", IEICE Transactions on Information and Systems, 103(4), pp.874~878 (2020)[DOI]
  11. J. Liu, "Learning Graph-based Code Representations for Source-level Functional Similarity Detection", Proceedings of the International Conference on Software Engineering (2023)
  12. J. Zhang, "A novel neural source code representation based on abstract syntax tree", Proceedings of International Conference on Software Engineering (2019)
  13. T. Vislavski, "LICCA : A tool for cross-language clone detection", Porceedings of the International conference on Software Analysis, Evolution and Reengineering (SANER) (2018)
  14. G. Nam, "Factors to be Considered for the Introduction of Artificial Intelligence Technology into Field of Legal Practicewith the Case of Similarity Assessment of Trademarks", Korea Law, 105, pp.129~159 (2022), Korea University Legal Research Institute[DOI]
  15. Z. Feng, "CodeBERT : A pre-trained model for programming and natural languages", Findings of the Association for Computational Linguistics: EMNLP 2020, pp.1536~1547 (2020)
  16. D. Guo, "GraphCodeBERT : Pre-training code representations with data flow", Proceedings of International Conference on Learning Representations(ICLR) (2021)
  17. "what is Data Augmentation?"[URL]
  18. S. Jeffrey, "Towards a Big Data Curated Benchmark of Inter-Project Code Clones", Proceedings of International Conference on Software Maintenance and Evolution (ICSME) (2014)

관련 논문AI추천

이 간행물의 다른 논문 (32건)