Rethinking Code Complexity Through the Lens of Large Language Models
Abstract
Code complexity metrics such as cyclomatic complexity have long been used to assess software quality and maintainability. With the rapid advancement of large language models (LLMs) on coding tasks, an important yet underexplored question arises: do traditional complexity metrics meaningfully characterize the coding difficulty that LLMs perceive? In this work, we empirically demonstrate that classical complexity metrics exhibit no consistent correlation with LLM performance, revealing a fundamental mismatch with model-perceived difficulty. To address this gap, we propose LM-CC, a novel code complexity metric tailored for LLMs, grounded in the hypothesis that model-perceived code difficulty is fundamentally driven by semantic nonlinearity. LM-CC quantifies complexity through an entropy-guided semantic compositional hierarchy, capturing the cumulative uncertainty encountered by LLMs during code understanding. Our experimental results demonstrate that LM-CC exhibits strong and consistent partial correlations with LLM performance, while semantics-preserving reductions in LM-CC consistently lead to improved downstream task performance. The source code is available at: https://github.com/xchen121/lm-cc.
Lay Summary
We’ve long relied on metrics such as Cyclomatic Complexity to estimate how difficult code is for humans to understand and maintain. But as large language models (LLMs) increasingly generate and reason about code, an important question emerges: do these traditional metrics also reflect how difficult code is for LLMs to process? In this study, we show that, after controlling for code length, conventional complexity metrics no longer consistently correlate with LLM performance. To address this gap, we introduce LM-CC, a new complexity metric designed from the perspective of LLMs. LM-CC is built on the insight that the difficulty LLMs experience when processing code is fundamentally shaped by the nonlinearity of program semantics.