CODESYNC: Sincronizando Modelos de Linguagem Grandes com Evolução Dinâmica de Código em Escala
CODESYNC: Synchronizing Large Language Models with Dynamic Code Evolution at Scale
February 23, 2025
Autores: Chenlong Wang, Zhaoyang Chu, Zhengxiang Cheng, Xuyi Yang, Kaiyue Qiu, Yao Wan, Zhou Zhao, Xuanhua Shi, Dongping Chen
cs.AI
Resumo
Os Modelos de Linguagem de Grande Escala (LLMs) têm apresentado um desempenho excepcional em engenharia de software, mas enfrentam desafios na adaptação ao conhecimento de código em constante evolução, especialmente em relação às atualizações frequentes das APIs de bibliotecas de terceiros. Essa limitação, decorrente de conjuntos de dados estáticos de pré-treinamento, frequentemente resulta em código não executável ou implementações com segurança e eficiência subótimas. Neste sentido, este artigo apresenta o CODESYNC, um mecanismo de dados para identificar padrões de código desatualizados e coletar atualizações de conhecimento de código em tempo real de bibliotecas de terceiros em Python. Com base no CODESYNC, desenvolvemos o CODESYNCBENCH, um benchmark abrangente para avaliar a capacidade dos LLMs de se manterem sincronizados com a evolução do código, que abrange atualizações do mundo real para 220 APIs de seis bibliotecas em Python. Nosso benchmark oferece 3.300 casos de teste em três tarefas de avaliação e um conjunto de dados de ajuste de instruções consciente de atualizações, composto por 2.200 amostras de treinamento. Experimentos extensivos em 14 LLMs de ponta revelam que eles enfrentam dificuldades com a evolução dinâmica do código, mesmo com o suporte de métodos avançados de atualização de conhecimento (por exemplo, DPO, ORPO e SimPO). Acreditamos que nosso benchmark pode fornecer uma base sólida para o desenvolvimento de métodos mais eficazes para atualização de conhecimento de código em tempo real no futuro. O código experimental e o conjunto de dados estão disponíveis publicamente em: https://github.com/Lucky-voyage/Code-Sync.
English
Large Language Models (LLMs) have exhibited exceptional performance in
software engineering yet face challenges in adapting to continually evolving
code knowledge, particularly regarding the frequent updates of third-party
library APIs. This limitation, stemming from static pre-training datasets,
often results in non-executable code or implementations with suboptimal safety
and efficiency. To this end, this paper introduces CODESYNC, a data engine for
identifying outdated code patterns and collecting real-time code knowledge
updates from Python third-party libraries. Building upon CODESYNC, we develop
CODESYNCBENCH, a comprehensive benchmark for assessing LLMs' ability to stay
synchronized with code evolution, which covers real-world updates for 220 APIs
from six Python libraries. Our benchmark offers 3,300 test cases across three
evaluation tasks and an update-aware instruction tuning dataset consisting of
2,200 training samples. Extensive experiments on 14 state-of-the-art LLMs
reveal that they struggle with dynamic code evolution, even with the support of
advanced knowledge updating methods (e.g., DPO, ORPO, and SimPO). We believe
that our benchmark can offer a strong foundation for the development of more
effective methods for real-time code knowledge updating in the future. The
experimental code and dataset are publicly available at:
https://github.com/Lucky-voyage/Code-Sync.Summary
AI-Generated Summary