Code Completion with Deep Neural Network

This project aims at improving a code completion engine with deep neural network by investigating econding and emebedding methods.

Code completion is a feature in programming editors that suggests a code fragments from a partly input program.  One of the promising approaches use a statistical method, or a deep neural network, to suggest code fragments that are more likely to be typed in according to the code that has already been typed in. We propose an embedding method (which converts between program tokens and a numeral vector, which is used as inputs and outputs of a neural network) inspired by Word2Vec, and applied to a LSTM neural network with an AST-aware encoding, so that it can cope with synonyms and syntactic structure of program texts.

Publications: