LLM이 코드 스타일을 바꾸다 대규모 실증 연구

LLM이 코드 스타일을 바꾸다 대규모 실증 연구
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 2020‑2025년 사이 arXiv 논문과 연결된 20,000여 개 GitHub 저장소의 코드를 분석해, 대형 언어 모델(LLM)이 코드 네이밍, 복잡도, 유지보수성 및 유사성에 미친 영향을 실증적으로 규명한다. 특히 파이썬에서 snake_case 사용 비율이 2023년 1분기 40.7%에서 2025년 3분기 49.8%로 상승한 점을 주요 증거로 제시한다.

상세 분석

본 연구는 크게 네 가지 축으로 LLM이 코드 스타일에 미친 변화를 정량화한다. 첫째, 네이밍 패턴 분석에서는 변수·함수 이름을 single‑letter, lowercase, UPPERCASE, camelCase, snake_case, PascalCase, endsWithDigits 등 7가지 형식으로 분류하고, 파이썬 코드에서 snake_case 비중이 연도별로 꾸준히 상승함을 확인했다. 특히 2023‑2025년 사이 비중이 9%p 상승했으며, 비슷한 추세가 CS와 non‑CS 저장소 모두에서 관찰되었다. 둘째, 복잡도 측면에서는 사이클로매틱 복잡도와 Halstead 지표를 활용했으며, LLM이 재작성한 코드가 인간이 직접 작성한 코드에 비해 평균 사이클로매틱 복잡도가 약 5% 낮아 더 간결한 흐름을 보였다. 그러나 C/C++에서는 이러한 차이가 미미했고, 이름 길이 증가가 복잡도 감소와 직접적인 인과관계를 갖지는 않는 것으로 나타났다. 셋째, 유지보수성 지표(MI std, MI custom)를 통해 LLM 재작성 코드가 인간 코드보다 약간 높은 유지보수성을 보였지만, 차이는 통계적으로 유의미하지 않았다. 넷째, 코드 유사도 분석에서는 코사인 유사도와 Jaccard 유사도를 적용해 LLM이 직접 생성한 코드와 인간 코드 사이의 유사도가 0.42 수준인 반면, LLM이 기존 코드를 재작성한 경우 유사도가 0.71로 크게 높아, LLM이 기존 코드 스타일을 그대로 유지하면서도 일부 개선을 가한다는 점을 시사한다.

또한, 모델별 차이를 살펴보면, 규모가 큰 Qwen3‑32B와 Llama‑4‑Maverick은 snake_case 선호도가 가장 높았으며, DeepSeek‑R1‑Distill‑Qwen‑32B는 변수 이름 길이 확대에 가장 큰 영향을 미쳤다. 프롬프트 전략(Direct Generation vs. Reference‑Guided Generation)에서도 차이가 있었는데, Reference‑Guided 방식이 인간 코드와의 유사도를 12%p 상승시키는 동시에 복잡도 감소 효과를 강화했다.

시간적 추세 분석에서는 LLM 도입 이전에도 일부 네이밍 변화가 있었지만, 2022년 이후 LLM 사용량 급증과 맞물려 변화 속도가 가속화된 것으로 보인다. 특히 비전공 분야(non‑CS) 저장소에서는 변동성이 커져, LLM이 다양한 도메인에 미치는 영향이 균일하지 않음을 보여준다.

마지막으로, LLM의 알고리즘적 사고 과정을 라벨 매칭과 오류율로 평가했을 때, 모델이 제시한 추론 라벨이 정답 라벨과 일치하는 비율은 평균 58%에 그쳤으며, 오류 라벨이 포함될 확률은 22% 수준이었다. 이는 LLM이 코드 구현 단계에서는 인간과 유사한 스타일을 채택하더라도, 문제 해결 전략 자체에서는 아직 완전한 일관성을 보이지 않음을 의미한다.

전반적으로 본 논문은 LLM이 코드 스타일에 미치는 영향을 다각도에서 정량화함으로써, 향후 코드 품질 관리, 자동화 도구 설계, 그리고 LLM 기반 개발 환경의 윤리·법적 이슈를 논의하는 데 중요한 실증 기반을 제공한다.


댓글 및 학술 토론

Loading comments...

의견 남기기