Font Size: a A A

Research On Deep Learning In The Improvement Of Software Development Environment

Posted on:2020-11-13Degree:MasterType:Thesis
Country:ChinaCandidate:L W WuFull Text:PDF
GTID:2428330575952518Subject:Software engineering
Abstract/Summary:PDF Full Text Request
The existing software development environment is mainly integrated development environments(IDE)such as Eclipse,Intellj and Visual Studio.The pros and cons of the software development environment depend largely on the accuracy of the prompts it gives to the programmer.The existing methods are mainly implemented using prob-abilistic models or context-free grammars.This article focuses on the use of the com-bination method of context free grammar and Deep Learning to improve the accuracy of the software development environment on both tasks of code completion and syntax error prompts.The main contributions of this paper are twofold:1.Code completion is an important feature of the software development environment,which gives hints to the next token of the program.In order to implement the func-tion of code completion,the language model is mainly used to predict the probabil-ity of the next token.These language models were originally designed to predict the latter token based on the previous text in natural language processing tasks,but are not fully applicable to programming languages.The meaning of all custom identifiers in the programming language is defined by its context.The name of the identifier is only used to distinguish different identifiers.The situation is quite dif-ferent that the meaning of the token in natural language is mainly determined by the name of the token,so these language models are not applicable when using the name of the token;on the other hand,the syntax of the programming language has a clear definition,which is not fully defined by the syntax in natural language.The situation is different,so existing language models which may predict that tokens that do not conform to the grammar can be avoided.Therefore,this paper proposes a grammar-based language model,which obtains a Top-1 accuracy rate of 74.23%from the C99 dataset crawled from Codeforces,which is higher than the previous maj or language model.2.The syntax error hint is an important function of the software development envi-ronment.Its prompt is based on the error information of the compiler.However,the error information of the compiler is implemented by context-free grammar or probability context-free grammar.The hints of these methods are based on the ter-mination labels,so they can't prompt for a specific token.The accuracy of the existing machine learning method on the grammar error correction task is very low.This paper proposes a grammatical error correction model using the context-free grammar and the end-to-end model,which obtains an accuracy of 56.97%on the DeepFix data set witch is much higher than DeeofFix's 33.36%,which proves that the combination of context-free grammar and deep learning can significantly im-prove the accuracy.
Keywords/Search Tags:Software development environment, Deep Learning, Code Completion, Syntax Error Correction
PDF Full Text Request
Related items