획기적인 발견? 혹은 아직 갈 길 먼 여정? LLM을 활용한 코드 유지보수의 현주소
본 연구는 LLM을 활용한 코드 유지보수 문제 해결의 효과성을 평가한 결과, LLM이 일정 부분 문제 해결에 기여하지만 여전히 오류 발생 가능성이 존재하며, 향후 추가적인 연구가 필요함을 시사합니다.

획기적인 발견? 혹은 아직 갈 길 먼 여정? LLM을 활용한 코드 유지보수의 현주소
최근 급부상 중인 대규모 언어 모델(LLM)이 코딩 문제 해결에 활용될 수 있다는 기대감이 높지만, 정작 코드 유지보수 문제 해결에 대한 효과성은 아직 불투명했습니다. Henrique Nunes를 비롯한 6명의 연구자들은 이러한 의문점을 해결하고자 흥미로운 연구를 진행했습니다. 그들의 연구 제목은 바로 "Evaluating the Effectiveness of LLMs in Fixing Maintainability Issues in Real-World Projects" 입니다.
연구팀은 GitHub의 10개 저장소에서 발췌한 127개의 유지보수 문제를 가지고 실험을 진행했습니다. Copilot Chat과 Llama 3.1이라는 두 가지 LLM을 사용하여, 각각 zero-shot 프롬프팅과 Llama의 경우 few-shot 프롬프팅을 적용했습니다. 결과는 어땠을까요?
결과는 놀랍지만, 동시에 예상 가능했습니다. Few-shot 프롬프팅을 적용한 Llama는 44.9%의 메서드 문제를 성공적으로 해결했습니다. 반면, zero-shot 프롬프팅을 적용한 Copilot Chat과 Llama는 각각 32.29%와 30%의 성공률을 보였습니다. 하지만, 대부분의 해결책은 새로운 오류나 유지보수 문제를 야기했습니다. 즉, LLM이 완벽한 해결사는 아니라는 점을 시사합니다.
흥미로운 점은, 연구팀이 45명의 참가자를 대상으로 LLM이 생성한 51개의 해결책 가독성에 대한 인간 평가를 진행했다는 점입니다. 그 결과, 참가자의 68.63%가 가독성이 향상되었다고 평가했습니다. 이는 LLM이 코드 가독성 개선에 기여할 수 있음을 보여주는 부분입니다.
결론적으로, 이번 연구는 LLM이 코드 유지보수 문제 해결에 잠재력을 가지고 있음을 보여주는 동시에, 여전히 오류 발생 가능성과 한계를 명확히 제시했습니다. LLM이 코드 유지보수 분야에서 완벽한 해결책이 되려면 아직 갈 길이 멀지만, 이 연구는 앞으로 나아갈 방향을 제시하는 중요한 이정표가 될 것입니다. 향후 연구에서는 LLM의 정확성과 안정성을 높이는 데 더욱 집중해야 할 것입니다. 특히, 새로운 유지보수 문제 발생을 최소화하는 방법과, LLM이 생성한 코드의 품질을 보장하는 메커니즘 개발이 중요한 과제로 떠오르고 있습니다.
:warning: 주의: 이 연구는 특정 LLM과 프롬프팅 기법에 대한 결과이며, 모든 LLM에 일반화될 수는 없습니다.
Reference
[arxiv] Evaluating the Effectiveness of LLMs in Fixing Maintainability Issues in Real-World Projects
Published: (Updated: )
Author: Henrique Nunes, Eduardo Figueiredo, Larissa Rocha, Sarah Nadi, Fischer Ferreira, Geanderson Esteves
http://arxiv.org/abs/2502.02368v1