Search papers, labs, and topics across Lattice.
This paper introduces LibEvoBench, a multi-task benchmark designed to evaluate code generation models' ability to handle temporal knowledge across different versions of widely used Python libraries. The study reveals that current state-of-the-art models are largely oblivious to API versioning, exhibiting significant performance degradation when dealing with evolving APIs, while their performance remains stable for APIs that do not change. Notably, the research finds that providing the target version does not enhance model accuracy, but incorporating relevant documentation substantially improves performance, indicating a critical gap in existing training methodologies.
State-of-the-art code generation models struggle with evolving APIs, showing a stark performance drop that highlights a fundamental flaw in their training.
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.