SECLLGOct 31, 2021

Text Classification for Task-based Source Code Related Questions

arXiv:2111.00580v1
AI Analysis

This addresses the problem of automating code generation for developers, but it is incremental as it builds on existing methods with minor improvements.

The paper tackles the problem of automatically generating code for small developer tasks by developing a two-fold deep learning model combining Seq2Seq and a binary classifier to predict if natural language intents are correctly answered by code snippets. The result shows that using hidden state embeddings from the Seq2Seq model performs slightly better than standard vocabulary embeddings, with experiments conducted on the CoNaLa and StaQC datasets.

There is a key demand to automatically generate code for small tasks for developers. Websites such as StackOverflow provide a simplistic way by offering solutions in small snippets which provide a complete answer to whatever task question the developer wants to code. Natural Language Processing and particularly Question-Answering Systems are very helpful in resolving and working on these tasks. In this paper, we develop a two-fold deep learning model: Seq2Seq and a binary classifier that takes in the intent (which is in natural language) and code snippets in Python. We train both the intent and the code utterances in the Seq2Seq model, where we decided to compare the effect of the hidden layer embedding from the encoder for representing the intent and similarly, using the decoder's hidden layer embeddings for the code sequence. Then we combine both these embeddings and then train a simple binary neural network classifier model for predicting if the intent is correctly answered by the predicted code sequence from the seq2seq model. We find that the hidden state layer's embeddings perform slightly better than regular standard embeddings from a constructed vocabulary. We experimented with our tests on the CoNaLa dataset in addition to the StaQC database consisting of simple task-code snippet-based pairs. We empirically establish that using additional pre-trained embeddings for code snippets in Python is less context-based in comparison to using hidden state context vectors from seq2seq models.

Foundations

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

Your Notes