NLP2Code: Code Snippet Content Assist via Natural Language Tasks
@article{Campbell2017NLP2CodeCS, title={NLP2Code: Code Snippet Content Assist via Natural Language Tasks}, author={Brock Angus Campbell and Christoph Treude}, journal={2017 IEEE International Conference on Software Maintenance and Evolution (ICSME)}, year={2017}, pages={628-632} }
Developers increasingly take to the Internet for code snippets to integrate into their programs. To save developers the time required to switch from their development environments to a web browser in the quest for a suitable code snippet, we introduce NLP2Code, a content assist for code snippets. Unlike related tools, NLP2Code integrates directly into the source code editor and provides developers with a content assist feature to close the vocabulary gap between developers' needs and code…
57 Citations
Optimising the fit of stack overflow code snippets into existing code
- Computer ScienceGECCO Companion
- 2020
An automated code reuse tool for the Eclipse IDE, NLP2TestableCode, which can not only search for Java code snippets using natural language tasks, but also evaluate code snippets based on a user's existing code, modify snippets to improve fit and correct errors, before presenting the user with the best snippet, all without leaving the editor.
NLI2Code: Reusing Libraries with Natural Language Interface
- Computer ScienceICSR
- 2019
An abstract framework NLI2Code is designed to illustrate how to build and use LibNLI, a domain-specific language encapsulating APIs into library functions, which is more high-level and instructive than library APIs.
NCQ: code reuse support for Node.js developers
- Computer ScienceArXiv
- 2021
Node Code Query is presented, a Read-Eval-Print-Loop environment that allows developers to search for NPM packages using natural language queries, and search for code snippets related to those packages, and suggests that NCQ makes Node.js developers morecient in reusing code.
Deep Code Search
- Computer Science2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE)
- 2018
A novel deep neural network named CODEnn (Code-Description Embedding Neural Network) is proposed, which jointly embeds code snippets and natural language descriptions into a high-dimensional vector space, in such a way that code snippet and its corresponding description have similar vectors.
Natural Language Processing Techniques for Code Generation
- Computer Science
- 2019
source code has similarities to natural language, hence NLP techniques have been successfully used to generate code, and the area has also benefited from recent deep learning based advances in NLP.
In-IDE Code Generation from Natural Language: Promise and Challenges
- Computer ScienceACM Trans. Softw. Eng. Methodol.
- 2022
This article develops a plugin for the PyCharm IDE that implements a hybrid of code generation and code retrieval functionality and asks developers with various backgrounds to complete 7 varieties of 14 Python programming tasks ranging from basic file manipulation to machine learning or data visualization, with or without the help of the plugin.
CodeMatcher: Searching Code Based on Sequential Semantics of Important Query Words
- Computer ScienceACM Trans. Softw. Eng. Methodol.
- 2022
An IR-based model CodeMatcher is proposed that inherits the advantages of DeepCS (i.e., the capability of understanding the sequential semantics in important query words), while it can leverage the indexing technique in the IR- based model to accelerate the search response time substantially.
Joint Embedding of Semantic and Statistical Features for Effective Code Search
- Computer ScienceApplied Sciences
- 2022
This work proposes a joint embedding model of semantic and statistical features to improve the effectiveness of code annotation, and implements a code search engine, i.e., JessCS, based on the jointembedding model.
Generating Context-Aware API Calls from Natural Language Description Using Neural Embeddings and Machine Translation
- Computer Science2021 36th IEEE/ACM International Conference on Automated Software Engineering Workshops (ASEW)
- 2021
This paper proposes a context-aware tool called API Call Programming Interface (ACPI) which allows developers to write a natural language description for methods within source code and get correct and compilable API Call (AC) based on the text description and surrounding code.
References
SHOWING 1-10 OF 22 REFERENCES
Bing developer assistant: improving developer productivity by recommending sample code
- Computer ScienceSIGSOFT FSE
- 2016
A tool called Bing Developer Assistant (BDA), which improves developer productivity by recommending sample code mined from public software repositories and web pages (such as Stack Overflow), which can automatically mine code snippets that implement an API or answer a code search query.
Prompter: A Self-Confident Recommender System
- Computer Science2014 IEEE International Conference on Software Maintenance and Evolution
- 2014
Prompter is presented, a plug-in for the Eclipse IDE which automatically searches and identifies relevant Stack Overflow discussions, evaluates their relevance given the code context in the IDE, and notifies the developer if and only if a user-defined confidence threshold is surpassed.
Making sense of online code snippets
- Computer Science2013 10th Working Conference on Mining Software Repositories (MSR)
- 2013
This analysis is able to identify 253,137 method calls and type references from 21,250 Stack Overflow code snippets and shows how identifying structural relationships from snippets could perform better than lexical search over code blocks in practice.
SWIM: Synthesizing What I Mean - Code Search and Idiomatic Snippet Synthesis
- Computer Science2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE)
- 2016
SWIM, a tool which suggests code snippets given API-related natural language queries such as "generate md5 hash code" is described, which translates user queries into the APIs of interest using clickthrough data from the Bing search engine.
T2API: synthesizing API code usage templates from English texts with statistical translation
- Computer Science, LinguisticsSIGSOFT FSE
- 2016
A statistical machine translation-based tool that takes a given English description of a programming task as a query, and synthesizes the API usage template for the task by learning from training data, and is capable of generating new API usages from smaller, previously-seen usages.
Understanding Stack Overflow Code Fragments
- Computer Science2017 IEEE International Conference on Software Maintenance and Evolution (ICSME)
- 2017
It is found that less than half of the Stack Overflow code fragments in this sample are considered to be self-explanatory by the 321 participants who answered the survey, and that the main issues that negatively affect code fragment understandability include incomplete fragments, code quality, missing rationale, code organization, clutter, naming issues, and missing domain information.
Seahawk: Stack Overflow in the IDE
- Computer Science2013 35th International Conference on Software Engineering (ICSE)
- 2013
Seahawk is an Eclipse plugin that supports an integrated and largely automated approach to assist programmers using Stack Overflow, and formulates queries automatically from the active context in the IDE, presents a ranked and interactive list of results, and lets users import code samples in discussions through drag & drop.
Jigsaw: a tool for the small-scale reuse of source code
- Computer ScienceICSE Companion '08
- 2008
This paper presents a tool, called Jigsaw, that uses thedeveloper's context to help integrate the reused source code into the developer's own source code.
Example Overflow: Using social media for code recommendation
- Computer Science2012 Third International Workshop on Recommendation Systems for Software Engineering (RSSE)
- 2012
Examples Overflow is presented, a code search and recommendation tool which brings together social media and code recommendation systems and enables crowd-sourced software development by utilizing both textual and social information, which accompany source code on the Web.
Learning from examples to improve code completion systems
- Computer ScienceESEC/FSE '09
- 2009
Evidence is given that intelligent code completion systems which learn from examples significantly outperform mainstream codepletion systems in terms of the relevance of their suggestions and thus have the potential to enhance developers' productivity.