  Inspired by the great potential of Large Language Models (LLMs) for solving
complex coding tasks, in this paper, we propose a novel approach, named
Code2API, to automatically perform APIzation for Stack Overflow code snippets.
Code2API does not require additional model training or any manual crafting
rules and can be easily deployed on personal computers without relying on other
external tools. Specifically, Code2API guides the LLMs through well-designed
prompts to generate well-formed APIs for given code snippets. To elicit
knowledge and logical reasoning from LLMs, we used chain-of-thought (CoT)
reasoning and few-shot in-context learning, which can help the LLMs fully
understand the APIzation task and solve it step by step in a manner similar to
a developer. Our evaluations show that Code2API achieves a remarkable accuracy
in identifying method parameters (65%) and return statements (66%) equivalent
to human-generated ones, surpassing the current state-of-the-art approach,
APIzator, by 15.0% and 16.5% respectively. Moreover, compared with APIzator,
our user study demonstrates that Code2API exhibits superior performance in
generating meaningful method names, even surpassing the human-level
performance, and developers are more willing to use APIs generated by our
approach, highlighting the applicability of our tool in practice. Finally, we
successfully extend our framework to the Python dataset, achieving a comparable
performance with Java, which verifies the generalizability of our tool.
