Before revision:  In this work, we develop a recurrent architecture that processes code with all variable names anonymized, i. e. replaced with unique placeholders. The proposed architecture outperforms standard NLP baselines on code completion task by a large margin in the anonymized setting, and improves the base model in the non-anonymized setting, being ensembled with it .
After revision:  In this work, we develop dynamic embeddings, a recurrent mechanism that adjusts the learned semantics of the variable when it obtains more information about the variable's role in the program. We show that using the proposed dynamic embeddings significantly improves the performance of the recurrent neural network, in code completion and bug fixing tasks .