Automatizando a Síntese de Código para Funções Nativas de Banco de Dados com LLMs
Automating Database-Native Function Code Synthesis with LLMs
April 2, 2026
Autores: Wei Zhou, Xuanhe Zhou, Qikang He, Guoliang Li, Bingsheng He, Quanqing Xu, Fan Wu
cs.AI
Resumo
Os sistemas de banco de dados incorporam um número crescente de funções em seus núcleos (também conhecidas como funções nativas do banco de dados) para cenários como suporte a novas aplicações e migração de negócios. Este crescimento causa uma demanda urgente por síntese automática de funções nativas de banco de dados. Embora os avanços recentes na geração de código baseada em LLM (por exemplo, Claude Code) mostrem potencial, eles são muito genéricos para o desenvolvimento específico de bancos de dados. Eles frequentemente alucinam ou negligenciam contexto crítico porque a síntese de funções de banco de dados é inerentemente complexa e propensa a erros, onde sintetizar uma única função pode envolver registrar múltiplas unidades de função, vincular referências internas e implementar a lógica corretamente. Para isso, propomos o DBCooker, um sistema baseado em LLM para sintetizar automaticamente funções nativas de banco de dados. Ele consiste em três componentes. Primeiro, o módulo de caracterização de funções agrega declarações de múltiplas fontes, identifica unidades de função que requerem codificação especializada e rastreia dependências entre unidades. Segundo, projetamos operações para abordar os principais desafios de síntese: (1) um gerador de plano de codificação baseado em pseudocódigo que constrói esqueletos de implementação estruturados identificando elementos-chave como funções referenciadas reutilizáveis; (2) um modelo híbrido de preenchimento de lacunas guiado por prévias probabilísticas e consciência de componentes para integrar lógica central com rotinas reutilizáveis; e (3) validação progressiva de três níveis, incluindo verificação de sintaxe, conformidade com padrões e verificação semântica guiada por LLM. Finalmente, uma estratégia de orquestração adaptativa unifica estas operações com ferramentas existentes e as sequencia dinamicamente através do histórico de orquestração de funções similares. Resultados mostram que o DBCooker supera outros métodos em SQLite, PostgreSQL e DuckDB (34,55% maior precisão em média), e pode sintetizar novas funções ausentes no SQLite mais recente (v3.50).
English
Database systems incorporate an ever-growing number of functions in their kernels (a.k.a., database native functions) for scenarios like new application support and business migration. This growth causes an urgent demand for automatic database native function synthesis. While recent advances in LLM-based code generation (e.g., Claude Code) show promise, they are too generic for database-specific development. They often hallucinate or overlook critical context because database function synthesis is inherently complex and error-prone, where synthesizing a single function may involve registering multiple function units, linking internal references, and implementing logic correctly. To this end, we propose DBCooker, an LLM-based system for automatically synthesizing database native functions. It consists of three components. First, the function characterization module aggregates multi-source declarations, identifies function units that require specialized coding, and traces cross-unit dependencies. Second, we design operations to address the main synthesis challenges: (1) a pseudo-code-based coding plan generator that constructs structured implementation skeletons by identifying key elements such as reusable referenced functions; (2) a hybrid fill-in-the-blank model guided by probabilistic priors and component awareness to integrate core logic with reusable routines; and (3) three-level progressive validation, including syntax checking, standards compliance, and LLM-guided semantic verification. Finally, an adaptive orchestration strategy unifies these operations with existing tools and dynamically sequences them via the orchestration history of similar functions. Results show that DBCooker outperforms other methods on SQLite, PostgreSQL, and DuckDB (34.55% higher accuracy on average), and can synthesize new functions absent in the latest SQLite (v3.50).