LLM 기반 변이 테스트의 새로운 지평
초록
본 연구는 최신 대형 언어 모델(LLM)들을 활용한 변이 생성 기법을 기존 규칙 기반 방법과 비교·평가한다. BugFarm, LLMorpheus, 그리고 새롭게 설계한 프롬프트(LLMut)를 적용해 7개 LLM(GPT‑4o, DeepSeek‑V3‑671b 등)으로 851개의 실제 Java 버그를 대상으로 701 400개 이상의 변이를 생성하였다. 결과는 LLM 기반 변이가 탐지율·다양성에서 현저히 우수하지만, 컴파일 불가능, 중복, 동등 변이 비율이 높아 비용이 증가함을 보여준다.
상세 분석
본 논문은 변이 테스트에 LLM을 적용한 최초 규모의 실증 연구라 할 수 있다. 연구자는 두 가지 주요 LLM 기반 접근법인 BugFarm과 LLMorpheus를 재현하고, 자체 설계한 프롬프트 템플릿(LLMut)을 통해 7개의 공개·폐쇄형 모델에 적용하였다. 실험에 사용된 버그 집합은 Defects4J 2.0(605개)와 ConDefects(246개)로, 총 851개의 실제 결함을 포함한다.
효과성 측면에서 LLM 기반 변이는 전통적인 PI T, Major, LEAM, μBERT와 비교해 실버그 탐지율이 평균 32.99 %p(p.p.) 상승했으며, 최고 성능을 보인 LLMut(DeepSeek‑V3‑671b)는 91.1 %의 탐지율을 기록했다. 이는 기존 규칙 기반 방법이 44.15 % 수준에 머물렀던 것과 큰 차이를 만든다. 또한, 결함과의 결합율(coupling rate)도 LLMorpheus(DS‑671b)에서 52 %에 달해, 변이가 실제 버그와 얼마나 유사한지를 정량적으로 입증한다.
하지만 유효성 측면에서는 LLM이 약점을 보인다. 컴파일 가능률은 GPT‑4o 기준 76.4 %에 그쳐, Major가 97.6 %를 기록한 것보다 현저히 낮다. 중복 변이 비율은 7.8 %이며, 동등 변이 비율은 3.1 %로, 전통 방식에 비해 각각 10.14 %p, 3.51 %p 정도 악화된다. 논문은 이러한 비효율이 주로 ‘알 수 없는 메서드 사용’·‘코드 구조 파괴’와 같은 9가지 컴파일 오류 유형에서 비롯된다고 분석한다.
다양성 측면에서는 AST 노드 타입 도입 수가 LLM 기반 접근법이 현저히 높다. LLMut(DS‑236b)와 LLMut(DS‑671b)는 각각 49개의 새로운 AST 타입을 도입했으며, 이는 기존 Major가 도입한 2개에 비해 24배 이상이다. 또한, AST 편집 거리 분포를 보면 LLM 변이는 1단계 편집에 머무르지 않고, 38 % 정도가 2~3단계 편집을 수행해 보다 복합적인 코드 변형을 수행한다는 점을 보여준다.
효율성 평가에서는 토큰 비용과 응답 시간도 측정했으며, 대형 모델(GPT‑4o, DeepSeek‑V3‑671b)은 비용이 높지만, 변이당 탐지 효율이 뛰어나 전체 비용 대비 효율성은 여전히 긍정적이다.
결론적으로, LLM 기반 변이 생성은 탐지력과 다양성에서 기존 방법을 크게 앞서지만, 컴파일 가능성·중복·동등 변이와 같은 품질 문제를 해결해야 실무 적용이 확대될 수 있다. 향후 연구는 프롬프트 최적화, 후처리 필터링, 그리고 모델 파인튜닝을 통해 이러한 비용을 감소시키는 방향으로 진행될 필요가 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기