코드 LLM, 정적 분석은 못한다? 놀라운 연구 결과 발표!
최근 발표된 연구 논문 "Do Code LLMs Do Static Analysis?"는 코드 LLM이 정적 분석 능력이 부족하며, 정적 분석 사전 훈련이 다른 코드 인텔리전스 작업 성능 향상에 도움이 되지 않음을 밝혔습니다. 이는 LLM의 작동 방식에 대한 새로운 이해와 향후 연구 방향을 제시하는 중요한 발견입니다.

코드 LLM, 정적 분석 능력은 어떨까?
최근 몇 년간 괄목할 만한 성장세를 보이고 있는 코드 LLM(Large Language Model). 코드 요약, 생성 등 프로그래밍 작업에서 인간을 대체할 수 있는 잠재력을 보여주며 주목받고 있습니다. 하지만 Chia-Yi Su와 Collin McMillan이 공동 집필한 논문, **"Do Code LLMs Do Static Analysis?"**는 코드 LLM의 숨겨진 약점을 파헤쳐 놀라움을 안겨줍니다.
인간과 LLM, 다른 사고방식?
인간 프로그래머는 프로그램의 호출 그래프를 분석하는 등 정적 분석을 통해 코드를 이해하고 프로그래밍합니다. 하지만 논문은 LLM이 '인간처럼' 사고하는지, 특히 정적 분석 능력이 있는지에 대한 의문을 제기하며 연구를 시작했습니다. 'LLM 추론'과 같은 인간 중심적 은유를 넘어, LLM의 사고 과정은 인간과 전혀 다를 수 있다는 점을 시사하는 대목입니다.
실험 결과: 정적 분석 능력 부족 확인!
연구진은 Gemini, GPT-4o, CodeLlaMA, Jam 등 다양한 오픈소스 및 클로즈드소스 모델을 사용하여 호출 그래프 생성, AST 생성, 데이터 흐름 생성 등 세 가지 정적 분석 작업과 코드 생성, 요약, 변환 등 세 가지 코드 인텔리전스 작업을 수행했습니다. 결과는 충격적이었습니다. LLM들은 정적 분석 작업에서 매우 저조한 성능을 보였습니다. 더욱 놀라운 사실은 정적 분석 작업으로 사전 훈련을 시킨다고 해서 코드 인텔리전스 작업의 성능이 향상되지 않았다는 점입니다. 즉, 정적 분석 능력 향상이 다른 프로그래밍 작업 능력 향상으로 이어지지 않는다는 것을 의미합니다.
새로운 질문과 미래 과제
이 연구는 코드 LLM의 능력에 대한 낙관적인 전망에 경종을 울리는 동시에, LLM의 근본적인 한계를 드러냈습니다. 인간의 프로그래밍 방식과 다른 LLM의 작동 방식에 대한 이해가 더욱 중요해졌으며, LLM의 정적 분석 능력을 향상시키기 위한 새로운 연구 방향이 필요함을 시사합니다. 단순히 코드를 생성하는 것을 넘어, 코드의 의미와 구조를 진정으로 이해하는 LLM의 개발은 아직 먼 길을 남겨놓았다는 것을 보여주는 연구 결과입니다.
참고: 본 기사는 Chia-Yi Su와 Collin McMillan의 논문 "Do Code LLMs Do Static Analysis?"을 바탕으로 작성되었습니다. 논문의 자세한 내용은 관련 학술지에서 확인할 수 있습니다.
Reference
[arxiv] Do Code LLMs Do Static Analysis?
Published: (Updated: )
Author: Chia-Yi Su, Collin McMillan
http://arxiv.org/abs/2505.12118v1