[Paper] LLMs를 활용한 다중 파일 DSL 코드 생성: 산업 사례 연구
발행: (2026년 4월 28일 AM 01:38 GMT+9)
9 분 소요
원문: arXiv
Source: arXiv - 2604.24678v1
개요
이 논문은 대규모 언어 모델(LLM)을 활용하여 도메인‑특화 언어(DSL) 로 작성된 코드를 여러 파일과 디렉터리에 걸쳐 생성하고 수정하는 방법을 조사한다. 저자들은 BMW에서 실제 사례 연구를 수행했으며, 두 개의 오픈소스 코드‑지향 LLM을 하나의 자연어 명령으로부터 저장소 규모의 DSL 아티팩트를 생성하도록 맞춤화했다. 그리고 자동화된 메트릭과 개발자 설문조사를 통해 접근법을 평가한다.
핵심 기여
- 엔드‑투‑엔드 파이프라인: Xtext로 구축된 산업용 DSL을 학습 가능한 다중 파일 생성 작업으로 변환.
- 경로를 보존하는 JSON 표현: DSL 폴더 계층 구조를 JSON으로 나타내어 단일 LLM 응답이 전체 저장소를 포괄하고 파일 간 종속성을 캡처하도록 함.
- 세 가지 프롬프트 전략에 대한 실증적 비교—베이스라인, 원샷 인‑컨텍스트, 파라미터 효율적인 파인‑튜닝(QLoRA)—두 개의 7‑B 코드 LLM(Qwen2.5‑Coder, DeepSeek‑Coder)에서 수행.
- 새로운 평가 지표: BLEU/ROUGE를 넘어 정확한 편집 정밀도, 생성된 파일 트리의 구조적 충실도, 하위 코드 생성기 성공률을 측정.
- 산업 현장 검증: 개발자 설문조사와 생성된 DSL을 기존 Java/TypeScript 코드 생성기를 통해 실행하는 검증 절차 수행.
Methodology
- Dataset Construction – 팀은 BMW의 저장소에서 과거 DSL 변경 사항을 추출하여, 각 자연어(NL) 변경 요청(예: “X 속성을 가진 새로운 차량 유형 추가”)과 해당 전후 DSL 파일을 짝지었습니다.
- Multi‑File Task Encoding – 각 변경은 파일 경로를 키(key)로, 파일 내용을 값(value)으로 하는 JSON 객체로 직렬화됩니다. 이를 통해 디렉터리 구조를 명시적으로 유지하면서 LLM의 컨텍스트 윈도우 안에 포함시킬 수 있습니다.
- Model Adaptation –
- Baseline prompting: “Generate the DSL files for …”와 같은 간단한 프롬프트.
- One‑shot in‑context: 프롬프트 앞에 NL → JSON 매핑 예시 하나를 추가.
- QLoRA fine‑tuning: 수집된 데이터셋을 이용한 경량 파라미터 효율 파인튜닝(모델 가중치의 약 0.5 %).
- Evaluation –
- Similarity metrics (BLEU, CodeBLEU) 를 사용한 표면 유사도 측정.
- Task‑specific metrics: 편집의 정확한 일치 여부, 구조적 충실도(생성된 트리가 기대 파일 레이아웃과 일치하는가?), 그리고 다운스트림 컴파일 성공 여부.
- Human validation: 12명의 BMW 개발자가 생성된 결과물의 유용성을 평가했으며, 일부 결과물을 기존 Xtext 기반 코드 생성기에 입력해 Java/TS 코드가 정상적으로 빌드되는지 확인했습니다.
결과 및 발견
| 모델 / 구성 | 정확도 (Exact‑Match) | 편집 유사도 (CodeBLEU) | 구조적 충실도 |
|---|---|---|---|
| Qwen2.5‑Coder – Baseline | 38 % | 0.42 | 0.78 |
| Qwen2.5‑Coder – One‑shot | 45 % | 0.48 | 0.84 |
| Qwen2.5‑Coder – QLoRA | 71 % | 0.71 | 1.00 |
| DeepSeek‑Coder – Baseline | 34 % | 0.39 | 0.73 |
| DeepSeek‑Coder – One‑shot | 41 % | 0.45 | 0.80 |
| DeepSeek‑Coder – QLoRA | 68 % | 0.68 | 1.00 |
주요 요점
- 파인튜닝(QLoRA)이 가장 큰 향상을 가져옵니다—정확도에서 절대 30 % 이상 상승하고 구조적 충실도가 완벽합니다.
- 원샷 인컨텍스트 학습은 비용이 낮은 승리이며, 기본 베이스라인보다 지속적으로 개선됩니다.
- 파인튜닝 후 생성된 DSL 파일이 90 % 이상의 경우에서 다운스트림 코드 생성기를 성공적으로 통과하여 기능적 정확성을 확인했습니다.
- 개발자들은 파인튜닝된 출력물을 **조사된 사례의 78 %**에서 “커밋 준비 완료”로 평가했으며, 베이스라인은 42 %에 불과했습니다.
실용적 함의
- DSL 진화 가속화 – 팀은 단일 자연어 변경 요청을 제시하고 전체 저장소에 걸친 DSL 업데이트를 받아 수동 편집 주기를 줄일 수 있습니다.
- 온보딩 마찰 감소 – 새로운 엔지니어는 DSL 파일 구조에 대한 깊은 지식 없이도 모델이 올바른 계층 구조를 유지하도록 의존하여 DSL 변경을 프로토타이핑할 수 있습니다.
- CI 친화성 – JSON 표현이 구조적 충실성을 보장하기 때문에 생성된 변경 사항은 기존 빌드 파이프라인(예: Xtext 코드 생성기 실행)에서 자동으로 검증될 수 있습니다.
- 비용 효율적인 맞춤화 – 파라미터 효율적인 파인튜닝(QLoRA)은 수백 개의 예시와 적당한 GPU 자원만 필요하므로 이미 DSL을 운영 중인 많은 기업에서도 실현 가능합니다.
- 다른 DSL을 위한 템플릿 – 파이프라인(데이터셋 추출 → 경로 보존 JSON → 파인튜닝)은 Xtext 기반 또는 유사 DSL에 대해 복제할 수 있어 자동차, 금융, 통신 등 분야에서 LLM 지원 개발의 문을 엽니다.
제한 사항 및 향후 작업
- 컨텍스트 윈도우 규모 – 이 접근법은 7‑B 모델의 8 K‑token 윈도우에 맞는 DSL 프로젝트에 적용 가능하며, 더 큰 저장소는 청크 처리나 계층적 프롬프트가 필요합니다.
- 데이터셋 편향 – 학습 데이터는 단일 BMW 프로젝트의 과거 변경 사항으로 구성되어 있어, 매우 다른 의미론이나 명명 규칙을 가진 DSL에 대한 일반화가 제한될 수 있습니다.
- 모델 크기 한계 – 7‑B 모델만 평가했으며, 더 큰 모델은 품질을 추가로 향상시킬 수 있지만 추론 비용이 증가합니다.
- 인간 평가 범위 – 개발자 설문은 비교적 소규모 그룹(12명)으로 진행되었으며, 보다 광범위한 사용자 연구가 사용성에 대한 주장을 강화할 수 있습니다.
- 향후 방향으로는 저자들이 제안한 바와 같이 초대형 저장소를 위한 검색 기반 생성(retrieval‑augmented generation) 탐색, DSL ↔ 코드 양방향 동기화로 방법 확장, 그리고 DSL 변경과 하위 시스템 동작을 연결하는 자동 테스트 생성 통합 등이 있습니다.
저자
- Sivajeet Chand
- Kevin Nguyen
- Peter Kuntz
- Alexander Pretschner
논문 정보
- arXiv ID: 2604.24678v1
- 카테고리: cs.SE, cs.AI
- 출판일: 2026년 4월 27일
- PDF: Download PDF