ChatPaper.aiChatPaper

Compilación Generativa: Retroalimentación del Compilador en Tiempo Real Mientras la IA Genera Código

Generative Compilation: On-the-Fly Compiler Feedback as AI Generates Code

July 15, 2026
Autores: Niels Mündler-Sasahara, Hristo Venev, Dawn Song, Martin Vechev, Jingxuan He
cs.AI

Resumen

Los lenguajes con semántica estática rica, como Rust, proporcionan garantías más sólidas para el código generado por IA, pero su rigurosidad dificulta la generación. Los compiladores estándar pueden ofrecer retroalimentación útil tras la generación, pero no guían los pasos intermedios, como los que ocurren durante la descodificación autoregresiva de modelos de lenguaje grandes (LLM). La descodificación restringida interviene de manera más temprana al rechazar tokens inválidos durante el muestreo, pero requiere acceso al modelo de caja blanca y una costosa reimplementación para restricciones semánticas. Introducimos la compilación generativa, el primer enfoque para obtener retroalimentación del compilador sobre programas parciales durante la generación. El dispositivo técnico central es un *sealor*: una transformación ligera, guiada mayormente por sintaxis, que convierte programas parciales en programas completos que los compiladores estándar pueden diagnosticar. Está diseñado para que los programas parciales que pueden completarse nunca sean rechazados, mientras se preserva suficiente contexto de código para detectar puntos muertos genuinos de forma temprana. Construimos dicho *sealor* sobre un cálculo central similar a Rust y demostramos que satisface estas propiedades, todo mecanizado en Lean. Lo extendemos al primer verificador de programas parciales para Rust real. Evaluamos nuestro método en tareas desafiantes de codificación en Rust a nivel de repositorio, tanto en modelos frontera de caja negra como en modelos de peso abierto. Mostramos que la compilación generativa reduce las salidas no compilables y mejora la corrección funcional, en comparación con la retroalimentación estándar posterior a la generación. Lo logra al detectar una amplia gama de errores cerca de su origen y de forma temprana durante la generación, reduciendo así las cascadas de errores y permitiendo diagnósticos enfocados. En términos más generales, la compilación generativa es un paso hacia hacer que los compiladores sean ciudadanos de primera clase en la programación asistida por IA, activos durante la generación en lugar de ser una verificación separada posterior a ella.
English
Languages with rich static semantics, such as Rust, provide stronger guarantees for AI-generated code, but their strictness makes generation more difficult. Off-the-shelf compilers can provide useful feedback post-generation, but does not guide intermediate generation steps, such as those during autoregressive LLM decoding. Constrained decoding intervenes earlier by rejecting invalid tokens during sampling, but requires white-box model access and costly reimplementation for semantic constraints.We introduce generative compilation, the first approach to obtaining compiler feedback on partial programs during generation. The core technical device is a sealor: a lightweight, mostly syntax-guided transformation that converts partial programs into complete ones that standard compilers can diagnose. It is designed such that possible-to-complete partial programs are never rejected, while preserving enough code context to catch genuine dead ends early. We construct such a sealor on a core Rust-like calculus and prove that it satisfies these properties, all mechanized in Lean. We extend it to the first partial-program checker for real Rust. We evaluate our method on challenging repository-level Rust coding tasks, across both frontier black-box and open-weight models. We show that generative compilation reduces non-compiling outputs and improves functional correctness, relative to standard post-generation feedback. It does so by detecting a broad range of errors close to their source and early during generation, thereby reducing errors cascades and enabling focused diagnostics. More broadly, generative compilation is a step toward making compilers a first-class citizen of AI-assisted programming active during generation, rather than a separate post-generation check.