LLMs의 프로그램 의미론 추론 능력 평가: FormalBench 벤치마크의 등장


본 연구는 FormalBench라는 새로운 벤치마크를 통해 LLM의 프로그램 의미론 추론 능력을 종합적으로 평가한 결과를 제시합니다. LLM은 단순한 제어 흐름에서는 좋은 성능을 보이나, 복잡한 구조에서는 어려움을 겪고 의미를 보존하는 변환에도 취약합니다. 하지만 자가 복구 프롬프트를 통해 성공률을 25% 향상시켰으며, LLM의 발전 가능성을 보여줍니다.

related iamge

최근 대규모 언어 모델(LLMs)이 프로그래밍 작업 자동화에 활용되면서 주목받고 있습니다. 하지만 LLM이 프로그램의 의미를 얼마나 잘 이해하고 추론하는지는 여전히 미지의 영역으로 남아있었습니다. Thanh Le-Cong, Bach Le, Toby Murray 등 연구진은 이러한 숙제에 도전장을 내밀었습니다. 그들이 개발한 FormalBench는 LLM의 프로그램 의미론 추론 능력을 종합적으로 평가하기 위한 새로운 벤치마크입니다.

FormalBench는 프로그램의 정확성을 검증하는 데 도움이 되는 형식적 프로그램 명세(formal program specifications) 를 생성하는 과정을 통해 LLM의 능력을 평가합니다. 이는 모든 가능한 프로그램 실행에 대한 포괄적인 추론과 형식적인 구문 및 의미론을 준수하는 정확한 구문 표현 생성을 요구하는 고난이도 작업입니다.

연구팀은 FormalBench를 이용하여 여러 LLM들을 평가했습니다. 그 결과, LLM은 단순한 제어 흐름에서는 상대적으로 높은 정확도를 보였습니다. 하지만 루프와 같은 복잡한 제어 구조가 포함된 프로그램에서는 성능이 급격히 저하되는 것을 확인했습니다. 더욱 놀라운 사실은 의미를 보존하는 변환에도 LLM이 취약하다는 점입니다. 즉, 프로그램의 동작은 동일하게 유지하면서 코드를 약간 수정했을 뿐인데도 LLM이 제대로 이해하지 못하는 경우가 많았습니다.

하지만 희망적인 소식도 있습니다. 연구팀은 LLM의 실패 패턴을 분석하고, 이를 바탕으로 자가 복구 프롬프트(self-repair prompts) 를 설계했습니다. 이를 통해 LLM의 성공률을 무려 25%나 향상시키는 데 성공했습니다. 이는 LLM의 한계를 극복하고 성능을 개선할 수 있는 가능성을 시사합니다.

이번 연구는 LLM의 잠재력과 동시에 그 한계를 명확히 보여줍니다. 앞으로 LLM의 프로그램 의미론 추론 능력 향상을 위한 연구가 더욱 활발해질 것으로 예상됩니다. FormalBench는 이러한 연구에 중요한 기준점을 제공할 것으로 기대됩니다. LLM의 발전과 더불어, 프로그램 검증 및 자동화 분야에서도 획기적인 발전을 기대해 볼 수 있을 것입니다.


*이 기사는 AI가 생성한 내용으로, 일부 정보가 실제와 다를 수 있습니다. 정확한 확인을 위해 추가적인 검증을 권장드립니다.

Reference

[arxiv] Can LLMs Reason About Program Semantics? A Comprehensive Evaluation of LLMs on Formal Specification Inference

Published:  (Updated: )

Author: Thanh Le-Cong, Bach Le, Toby Murray

http://arxiv.org/abs/2503.04779v3