LibEvoBench: Probing Temporal Knowledge Stratification in Code Generation Models
For developers using LLMs for code generation, this work identifies a systematic limitation in handling temporal API knowledge, motivating new training approaches.
The paper introduces LibEvoBench, a benchmark to evaluate LLMs' ability to handle evolving library APIs across versions, and proposes SEUS metric. Results show state-of-the-art models are version-oblivious, with performance degrading on evolving APIs, and that providing version info alone does not help while relevant documentation does.
Large software projects often depend on older versions of libraries, even as APIs continue to evolve across releases. This creates a challenge for LLMs: they must maintain knowledge of multiple API versions, not merely the latest or most common one. However, current LLMs are trained on temporally mixed corpora and lack explicit mechanisms for such version-specific reasoning, leading to anachronistic errors - calling APIs as they exist in a different library version. To systematically evaluate this phenomenon, we introduce LibEvoBench, a multi-task benchmark spanning multiple versions of widely used Python libraries, along with a new metric, the Software Evolution Understanding Score (SEUS), to measure models' consistency when working with evolving APIs. Our results show that state-of-the-art models are largely version-oblivious: performance degrades for evolving APIs, while for stable APIs it remains the same across versions. Moreover, simply specifying the target version provides no benefit, while relevant documentation significantly boosts models' accuracy. These findings highlight a systematic limitation of current training paradigms and motivate new approaches for temporally grounded knowledge in code generation.