Automating Database-Native Function Code Synthesis with LLMs
| Paper | Automating Database-Native Function Code Synthesis with LLMs (PDF) |
| Konferenz | SIGMOD 2026 |
Zusammenfassung
Datenbanksysteme integrieren eine stetig wachsende Zahl von Funktionen in ihren Kernel (sogenannte datenbanknative Funktionen) – etwa für neue Anwendungsunterstützung und Geschäftsmigration. Dieses Wachstum erzeugt einen dringenden Bedarf an automatischer Synthese datenbanknativer Funktionen. Jüngste Fortschritte in der LLM-basierten Codegenerierung (z. B. Claude Code) sind vielversprechend, bestehende Ansätze sind jedoch zu allgemein für die datenbankspezifische Entwicklung. Sie halluzinieren oft oder übersehen kritischen Kontext, weil die Synthese von Datenbankfunktionen inhärent komplex und fehleranfällig ist: Die Synthese einer einzelnen Datenbankfunktion kann das Registrieren mehrerer Funktionseinheiten (z. B. für verschiedene Eingabetypen), das Platzieren von Code in den richtigen Quelldateien, das Verknüpfen interner Referenzen und die korrekte Implementierung der Logik umfassen.
Wir schlagen daher DBCooker vor, ein LLM-basiertes System zur automatischen Synthese datenbanknativer Funktionen. Das System besteht aus drei zentralen Komponenten. Erstens aggregiert das Modul zur Funktionscharakterisierung Deklarationen aus mehreren Quellen, identifiziert Funktionseinheiten, die spezialisierte Kodierung erfordern, durch hierarchische Analyse und verfolgt einheitenübergreifende Abhängigkeiten per statischer Analyse. Zweitens entwerfen wir Operationen für die wichtigsten Syntheseherausforderungen: (1) einen Pseudocode-basierten Coding-Plan-Generator, der strukturierte Implementierungsskelette baut, indem er Schlüsselelemente wie wiederverwendbare referenzierte Funktionen identifiziert; (2) ein hybrides Fill-in-the-Blank-Modell, das von probabilistischen Priors und Komponentenbewusstsein geleitet wird, um Kernlogik mit wiederverwendbaren Routinen zu integrieren; und (3) eine dreistufige progressive Validierung, einschließlich Syntaxprüfung, Einhaltung von Standards und LLM-gestützter semantischer Verifikation. Schließlich vereint eine adaptive Orchestrierungsstrategie diese Operationen mit bestehenden Datenbankwerkzeugen und reiht sie dynamisch anhand der Orchestrierungshistorie ähnlicher Funktionen. Die Ergebnisse zeigen, dass unser System den Stand der Technik auf SQLite, PostgreSQL und DuckDB übertrifft (im Schnitt 34,55 % höhere Genauigkeit) und vier Kategorien neuer Funktionen synthetisieren kann, die in der neuesten SQLite (v3.50) fehlen. Der Code ist verfügbar unter https://github.com/weAIDB/DBCooker.