SEJul 7, 2020

From API to NLI: A New Interface for Library Reuse

arXiv:2007.03305v12 citations
Originality Incremental advance
AI Analysis

This addresses the problem of API complexity for developers, offering a novel interface but with incremental improvements in reuse efficiency.

The paper tackles the difficulty of learning complex APIs by introducing NLI2Code, a framework that generates a natural language interface for library reuse, which was shown to reduce coding time by half for newcomers in real-world Java programming tasks.

Developers frequently reuse APIs from existing libraries to implement certain functionality. However, learning APIs is difficult due to their large scale and complexity. In this paper, we design an abstract framework NLI2Code to ease the reuse process. Under the framework, users can reuse library functionalities with a high-level, automatically-generated NLI (Natural Language Interface) instead of the detailed API elements. The framework consists of three components: a functional feature extractor to summarize the frequently-used library functions in natural language form, a code pattern miner to give a code template for each functional feature, and a synthesizer to complete code patterns into well-typed snippets. From the perspective of a user, a reuse task under NLI2Code starts from choosing a functional feature and our framework will guide the user to synthesize the desired solution. We instantiated the framework as a tool to reuse Java libraries. The evaluation shows our tool can generate a high-quality natural language interface and save half of the coding time for newcomers to solve real-world programming tasks.

Foundations

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

Your Notes