CodeARC: Valutazione delle Capacità di Ragionamento degli Agenti LLM per la Sintesi Induttiva di Programmi
CodeARC: Benchmarking Reasoning Capabilities of LLM Agents for Inductive Program Synthesis
March 29, 2025
Autori: Anjiang Wei, Tarun Suresh, Jiannan Cao, Naveen Kannan, Yuheng Wu, Kai Yan, Thiago S. F. X. Teixeira, Ke Wang, Alex Aiken
cs.AI
Abstract
La sintesi induttiva di programmi, o programmazione per esempi, richiede la sintesi di funzioni a partire da esempi di input-output che generalizzano a input non visti. Sebbene i modelli linguistici di grandi dimensioni abbiano mostrato potenziale nei compiti di programmazione guidati dal linguaggio naturale, la loro capacità di eseguire la sintesi induttiva di programmi è ancora poco esplorata. I protocolli di valutazione esistenti si basano su insiemi statici di esempi e test separati, non fornendo feedback quando le funzioni sintetizzate sono errate e non riflettendo scenari reali come il reverse engineering. Proponiamo CodeARC, la Code Abstraction and Reasoning Challenge, un nuovo framework di valutazione in cui gli agenti interagiscono con una funzione target nascosta interrogandola con nuovi input, sintetizzando funzioni candidate e perfezionando iterativamente le loro soluzioni utilizzando un oracolo di test differenziale. Questo contesto interattivo incoraggia gli agenti a eseguire chiamate di funzioni e autocorrezione basandosi sui feedback. Costruiamo il primo benchmark su larga scala per la sintesi induttiva di programmi a scopo generale, comprendente 1114 funzioni. Tra i 18 modelli valutati, o3-mini ottiene i migliori risultati con un tasso di successo del 52,7%, evidenziando la difficoltà di questo compito. Il fine-tuning di LLaMA-3.1-8B-Instruct su tracce di sintesi curate produce un miglioramento relativo delle prestazioni fino al 31%. CodeARC fornisce un banco di prova più realistico e impegnativo per valutare la sintesi di programmi e il ragionamento induttivo basati su LLM.
English
Inductive program synthesis, or programming by example, requires synthesizing
functions from input-output examples that generalize to unseen inputs. While
large language model agents have shown promise in programming tasks guided by
natural language, their ability to perform inductive program synthesis is
underexplored. Existing evaluation protocols rely on static sets of examples
and held-out tests, offering no feedback when synthesized functions are
incorrect and failing to reflect real-world scenarios such as reverse
engineering. We propose CodeARC, the Code Abstraction and Reasoning Challenge,
a new evaluation framework where agents interact with a hidden target function
by querying it with new inputs, synthesizing candidate functions, and
iteratively refining their solutions using a differential testing oracle. This
interactive setting encourages agents to perform function calls and
self-correction based on feedback. We construct the first large-scale benchmark
for general-purpose inductive program synthesis, featuring 1114 functions.
Among 18 models evaluated, o3-mini performs best with a success rate of 52.7%,
highlighting the difficulty of this task. Fine-tuning LLaMA-3.1-8B-Instruct on
curated synthesis traces yields up to a 31% relative performance gain. CodeARC
provides a more realistic and challenging testbed for evaluating LLM-based
program synthesis and inductive reasoning.Summary
AI-Generated Summary