최근 대형 언어 모델(LLM)의 발전으로 인해 코드 생성 기술이 급격히 발전하고 있습니다. 개발자들은 ChatGPT, Gemini-Pro 등의 LLM을 활용하여 코드를 작성하거나 자동 완성 기능을 사용하고 있습니다. 하지만 이러한 기술이 발전하면서 지적 재산권 보호 문제도 함께 제기되고 있습니다. 악의적인 사용자는 LLM을 이용하여 기존 코드의 패러프레이즈(의미를 유지하면서 표현만 변경하는 것)를 수행하고, 이를 마치 새로운 코드인 것처럼 사용할 수 있습니다.
이러한 문제를 해결하기 위해 연세대학교 계산이론 연구실은 LLM이 생성한 코드와 사람이 작성한 코드의 차이를 분석하고, 특정 LLM이 생성한 코드인지 여부를 판별하는 연구를 진행했습니다.
위 그림은 악의적인 사용자가 LLM을 사용하여 기존 코드를 대상으로 패러프레이징을 수행하는 과정 및 코딩 스타일 특징들을 사용하여 패러프레이징 여부 및 패러프레이즈를 수행한 LLM을 추적하는 본 연구의 전반적인 과정을 보여주고 있습니다.
다음과 같은 두 가지 주요 목표를 설정했습니다.
이를 위해 LLM이 생성한 코드와 사람이 작성한 코드의 스타일적 차이를 분석하는 방법을 개발하고, 새로운 데이터셋과 탐지 모델을 구축했습니다.
이 데이터셋은 사람이 작성한 코드와 다양한 LLM이 해당 코드를 패러프레이징한 결과를 포함하고 있습니다.
최종적으로 C, C++, Java, Python 네 가지 프로그래밍 언어로 구성된 21,355개의 코드 샘플이 데이터셋에 포함되었습니다.