The purpose of this study is to use the concepts learned in NLP (Natural Language Processing), combined with machine learning techniques to analyze a computer programming language. Given the many applications and usefulness of NLP methods for plain text, the programming community is very much interested in how similar studies or investigations can be carried on computer languages and eventually simplify source code writing or improve their readability. Our study aims to generate text code suggestion based on cursor input. Code completion is a context-aware process that could speed up the task of coding applications. We first consider this study for dynamically typed programming language mainly because most studies in this field are carried out on statically typed languages like C++ and java. This study could have significant application in code generation, source completion and source code maintenance tasks. We build a deep learning model based on LSTM network using keras (a neural network API) with a Tensorflow backend. Tensorflow is an open source library for numerical computation developed by researchers of the Google Brain Team. We evaluate our model on a large corpus of source code harvested from an open source projects repository. The Concrete Syntax Tree (CST) of the source code is used to capture the semantics and structure of the source code and to increase the repetitiveness of the tokens in the dataset corpus. The performance of our models will be compared to similar studies conducted in the field.
|Commitee:||Langdon, Joan, Josyula, Darsana, Yan, Jie, Xu, Weifeng|
|School:||Bowie State University|
|School Location:||United States -- Maryland|
|Source:||DAI-B 82/1(E), Dissertation Abstracts International|
|Subjects:||Computer science, Artificial intelligence, Information Technology, Computer Engineering|
|Keywords:||Code completion, LSTM network, Machine learning, Neural network|
Copyright in each Dissertation and Thesis is retained by the author. All Rights Reserved
The supplemental file or files you are about to download were provided to ProQuest by the author as part of a
dissertation or thesis. The supplemental files are provided "AS IS" without warranty. ProQuest is not responsible for the
content, format or impact on the supplemental file(s) on our system. in some cases, the file type may be unknown or
may be a .exe file. We recommend caution as you open such files.
Copyright of the original materials contained in the supplemental file is retained by the author and your access to the
supplemental files is subject to the ProQuest Terms and Conditions of use.
Depending on the size of the file(s) you are downloading, the system may take some time to download them. Please be