SESep 2, 2021

APIzation: Generating Reusable APIs from StackOverflow Code Snippets

arXiv:2109.01138v121 citations
Originality Incremental advance
AI Analysis

This addresses the tedious task of adapting code snippets for reuse by developers, offering an incremental improvement in automation for software engineering.

The paper tackles the problem of automatically converting incomplete Java code snippets from StackOverflow into reusable APIs, presenting APIzator, which achieved identical parameters or return statements to developers in 81.50% of cases.

Developer forums like StackOverflow have become essential resources to modern software development practices. However, many code snippets lack a well-defined method declaration, and thus they are often incomplete for immediate reuse. Developers must adapt the retrieved code snippets by parameterizing the variables involved and identifying the return value. This activity, which we call APIzation of a code snippet, can be tedious and time-consuming. In this paper, we present APIzator to perform APIzations of Java code snippets automatically. APIzator is grounded by four common patterns that we extracted by studying real APIzations in GitHub. APIzator presents a static analysis algorithm that automatically extracts the method parameters and return statements. We evaluated APIzator with a ground-truth of 200 APIzations collected from 20 developers. For 113 (56.50 %) and 115 (57.50 %) APIzations, APIzator and the developers extracted identical parameters and return statements, respectively. For 163 (81.50 %) APIzations, either the parameters or the return statements were identical.

Foundations

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

Your Notes