# Program Semantic Inequivalence Game with Large Language Models

### 저자

Antonio Valerio Miceli-Barone, Vaishak Belle, Ali Payani

### 개요

본 논문은 대규모 언어 모델(LLM)이 프로그램 의미에 대한 비범상적인 추론을 요구하는 복잡한 작업에서는 성능이 저하될 수 있다는 문제를 해결하기 위해, 의미적 비등가 게임(SInQ) 기반의 합성 코드 추론 학습 데이터 생성 방법을 제시합니다.  SInQ에서는 생성 에이전트가 실제 프로그래밍 작업 데이터셋에서 파생된 의미적으로 구별되는 프로그램 변형을 생성하고, 평가 에이전트는 원본 프로그램과 생성된 변형의 동작이 달라지는 입력 예시를 식별합니다. 두 에이전트는 반(半)적대적으로 서로를 학습시키며, 이러한 설정은 이론적으로 무한한 계산 자원이 주어진다면 자기 학습을 통해 무한히 개선될 수 있음을 증명합니다.  다양한 코드 생성 및 이해 벤치마크(C/C++ 코드의 취약성 탐지, Python 내장 식별자 교환 벤치마크 등)에서 실험을 통해 제안된 방법의 효과를 검증하고, 실험 재현에 필요한 코드와 생성된 합성 데이터를 공개합니다.

### 시사점, 한계점

- **시사점:**

    - LLM의 코드 추론 능력 향상을 위한 새로운 데이터 생성 방법 제시

    - 실제 프로그래밍 작업 데이터셋을 기반으로 의미적으로 다양한 합성 데이터 생성 가능

    - 자기 학습을 통한 지속적인 성능 향상 가능성 제시

    - 다른 언어로 학습된 모델을 다른 언어의 작업에 적용 가능성 증명 (Python으로 학습된 모델이 C/C++ 코드 취약성 탐지에 효과적임)

    - 생성된 합성 데이터를 공개하여 다른 연구자들의 활용 가능

- **한계점:**

    - 무한한 계산 자원이라는 이론적 가정 존재

    - 제안된 방법의 효과는 특정 벤치마크에 대한 실험 결과에 국한됨

    - 실제 복잡한 프로그래밍 작업에 대한 일반화 성능은 추가 연구 필요

[PDF 보기](https://arxiv.org/pdf/2505.03818)

For the site tree, see the [root Markdown](https://slashpage.com/haebom.md).
