  Technical question and answering (Q&A) sites such as Stack Overflow have
become an important source for software developers to seek knowledge. However,
code snippets on Q&A sites are usually uncompilable and semantically incomplete
for compilation due to unresolved types and missing dependent libraries, which
raises the obstacle for users to reuse or analyze Q&A code snippets. Prior
approaches either are not designed for synthesizing compilable code or suffer
from a low compilation success rate. To address this problem, we propose ZS4C,
a lightweight approach to perform zero-shot synthesis of compilable code from
incomplete code snippets using Large Language Model (LLM). ZS4C operates in two
stages. In the first stage, ZS4C utilizes an LLM, i.e., ChatGPT, to identify
missing import statements for a given code snippet, leveraging our designed
task-specific prompt template. In the second stage, ZS4C fixes compilation
errors caused by incorrect import statements and syntax errors through
collaborative work between ChatGPT and a compiler. We thoroughly evaluated ZS4C
on a widely used benchmark called StatType-SO against the SOTA approach SnR.
Compared with SnR, ZS4C improves the compilation rate from 63% to 87.6%, with a
39.3% improvement. On average, ZS4C can infer more accurate import statements
than SnR, with an improvement of 6.6% in the F1.
