미래로 돌아가다: LLM으로부터 가독성 특징을 회귀시키기
요약
본 논문은 코드 가독성을 측정하는 새로운 방법론 BTTF를 제안합니다. BTTF는 선형 회귀와 정보 이론적 특징을 결합하여, 기존 모델의 한계를 극복하고 소스 구조, 의미론적 일관성 등을 포착합니다. 이 방법은 다양한 벤치마크에서 높은 성능과 강력한 변환 강건성을 입증했습니다.
핵심 포인트
- BTTF는 코드 가독성 측정을 위한 새로운 프레임워크입니다.
- 선형 회귀와 정보 이론적 특징을 결합하여 정확도를 높였습니다.
- 다양한 벤치마크에서 기존 최고 성능 대비 높은 상관관계 향상을 보였습니다.
- 높은 변환 강건성과 특징 단위의 해석 가능성을 제공합니다.
코드 가독성은 소프트웨어 이해, 검토 및 유지보수를 지원합니다. AI 코딩 에이전트의 사용이 보편화됨에 따라, 가독성이 높은 코드는 인간이 에이전트가 생성한 출력을 검토하는 데 도움을 줄 뿐만 아니라, 에이전트가 제한된 컨텍스트 윈도우 내에서 코드를 유지보수하는 데에도 도움이 됩니다. 그러나 기존의 가독성 모델들은 데이터셋 전반에 걸쳐 인간의 판단과 일관되게 일치하지 않습니다. 우리는 선형 회귀(linear regression)와 정보 이론적 특징(information-theoretic features)을 결합한 BTTF (Back To The Future)를 소개합니다. BTTF는 언어 모델(language models)을 블랙박스 심사위원으로 사용하는 대신, 측정 도구로 사용합니다. 이는 소스 구조(source structure), 의미론적 일관성(semantic coherence), 그리고 컨텍스트적 놀라움(contextual surprise)을 포착하기 위해 전통적인 코드 측정, 임베딩 기반의 의미론적 구성(embedding-based semantic organisation), 그리고 인과적 언어 모델 예측 가능성(causal-LM predictability)을 결합합니다. 우리는 BTTF를 5개의 공개적으로 사용 가능한 인간 평가 가독성 벤치마크와 수동으로 주석 처리한 MBJP 개발 세트에서 총 1,100개의 샘플에 걸쳐 평가했습니다. BTTF는 가장 강력한 기준선(baseline) 대비 평균 스피어만 상관관계(Spearman correlation)를 최대 0.101까지 향상시킵니다. 프로덕션 코드에 대한 13가지 제어된 가독성 감소 변환(readability-reducing transformations) 전반에 걸쳐, Java에서는 93.8%, Python에서는 87.6%의 응답률을 달성하여 Dorn보다 각각 14%, 19.2% 더 우수합니다. 이는 로컬 모델 중 최고 성능을 보이며, Java에서 1.7%, Python에서 5.1%만큼 가장 강력한 클라우드-LLM 응답에 뒤처집니다. 직접적인 LLM 기준선은 평가당 평균 1,083개의 프롬프트 토큰을 필요로 하는 반면 여전히 불투명합니다. BTTF는 최첨단 벤치마크 성능과 강력한 변환 강건성(transformation robustness)에 특징 단위의 해석 가능성(feature-granular interpretability)을 결합합니다: 모든 특징 계수(feature coefficient)가 평가된 모든 모델 구성 전반에서 이론적인 방향성 효과와 일치합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기