SEAIJan 25, 2024

ZS4C: Zero-Shot Synthesis of Compilable Code for Incomplete Code Snippets using LLMs

arXiv:2401.14279v36 citationsACM Trans Softw Eng Methodol
Originality Incremental advance
AI Analysis

This addresses a challenge for software developers reusing code from online sources, representing a strong specific gain in a domain-specific area.

The paper tackles the problem of incomplete and uncompilable code snippets from technical Q&A sites by proposing ZS4C, a zero-shot synthesis method using LLMs, which improves the compilation rate from 63% to 95.1% and increases the F1 score for import inference by 8.5%.

Technical Q&A sites are valuable for software developers seeking knowledge, but the code snippets they provide are often uncompilable and incomplete due to unresolved types and missing libraries. This poses a challenge for users who wish to reuse or analyze these snippets. Existing methods either do not focus on creating compilable code or have low success rates. To address this, we propose ZS4C, a lightweight approach for zero-shot synthesis of compilable code from incomplete snippets using Large Language Models (LLMs). ZS4C operates in two stages: first, it uses an LLM, like GPT-3.5, to identify missing import statements in a snippet; second, it collaborates with a validator (e.g., compiler) to fix compilation errors caused by incorrect imports and syntax issues. We evaluated ZS4C on the StatType-SO benchmark and a new dataset, Python-SO, which includes 539 Python snippets from Stack Overflow across the 20 most popular Python libraries. ZS4C significantly outperforms existing methods, improving the compilation rate from 63% to 95.1% compared to the state-of-the-art SnR, marking a 50.1% improvement. On average, ZS4C can infer more accurate import statements (with an F1 score of 0.98) than SnR, with an improvement of 8.5% in the F1.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes