ChatPaper.aiChatPaper

CODESYNC: Sincronizzazione di Modelli Linguistici di Grande Scala con l'Evoluzione Dinamica del Codice

CODESYNC: Synchronizing Large Language Models with Dynamic Code Evolution at Scale

February 23, 2025
Autori: Chenlong Wang, Zhaoyang Chu, Zhengxiang Cheng, Xuyi Yang, Kaiyue Qiu, Yao Wan, Zhou Zhao, Xuanhua Shi, Dongping Chen
cs.AI

Abstract

I modelli linguistici di grandi dimensioni (LLM) hanno dimostrato prestazioni eccezionali nell'ingegneria del software, ma affrontano sfide nell'adattarsi alla continua evoluzione delle conoscenze sul codice, in particolare riguardo ai frequenti aggiornamenti delle API delle librerie di terze parti. Questa limitazione, derivante da dataset di pre-addestramento statici, spesso si traduce in codice non eseguibile o implementazioni con sicurezza ed efficienza subottimali. A tal fine, questo articolo introduce CODESYNC, un motore di dati per identificare modelli di codice obsoleti e raccogliere aggiornamenti in tempo reale delle conoscenze sul codice dalle librerie di terze parti di Python. Basandoci su CODESYNC, sviluppiamo CODESYNCBENCH, un benchmark completo per valutare la capacità degli LLM di rimanere sincronizzati con l'evoluzione del codice, che copre aggiornamenti reali per 220 API di sei librerie Python. Il nostro benchmark offre 3.300 casi di test attraverso tre compiti di valutazione e un dataset di istruzioni sintonizzate sugli aggiornamenti composto da 2.200 campioni di addestramento. Esperimenti estesi su 14 LLM all'avanguardia rivelano che questi faticano a gestire l'evoluzione dinamica del codice, anche con il supporto di metodi avanzati di aggiornamento delle conoscenze (ad esempio, DPO, ORPO e SimPO). Crediamo che il nostro benchmark possa offrire una solida base per lo sviluppo di metodi più efficaci per l'aggiornamento in tempo reale delle conoscenze sul codice in futuro. Il codice sperimentale e il dataset sono disponibili pubblicamente all'indirizzo: 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

PDF222February 28, 2025