CN109739494A - A kind of API based on Tree-LSTM uses code building formula recommended method - Google Patents

A kind of API based on Tree-LSTM uses code building formula recommended method Download PDF

Info

Publication number
CN109739494A
CN109739494A CN201811501452.2A CN201811501452A CN109739494A CN 109739494 A CN109739494 A CN 109739494A CN 201811501452 A CN201811501452 A CN 201811501452A CN 109739494 A CN109739494 A CN 109739494A
Authority
CN
China
Prior art keywords
code
node
api
abstract
tree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811501452.2A
Other languages
Chinese (zh)
Other versions
CN109739494B (en
Inventor
彭鑫
陈驰
赵文耘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN201811501452.2A priority Critical patent/CN109739494B/en
Publication of CN109739494A publication Critical patent/CN109739494A/en
Application granted granted Critical
Publication of CN109739494B publication Critical patent/CN109739494B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)

Abstract

The invention belongs to soft project and intelligent software development technique field, the specially API based on Tree-LSTM uses code building formula recommended method.The present invention constructs a large amount of training sample by being parsed to a large amount of source codes comprising target API, uses code prediction model using deep learning and statistical model training API on this basis;Code prediction model is divided into: being indicated and the prediction of the sentence of deep learning, the API Calls parameter prediction based on data dependence analysis and statistical model based on abstract code tree construction;Wherein, the abstract tree construction for devising the code for being suitable for Tree-LSTM model treatment indicates.The present invention provides the API based on Code Context for software developer and uses code intelligent recommendation, code is used according to the API that the code finished writing recommends developer that may use line by line, including API Object Creation/method call/attribute access, control statement and variable declarations etc., it can also be called for API approach and recommend relevant context variable as parameter.

Description

A kind of API based on Tree-LSTM uses code building formula recommended method
Technical field
The invention belongs to soft projects and intelligent software development technique field, and in particular to the intelligence in software development Recommendation and assisted encoding technique more particularly to API use code building formula recommended method.
Background technique
Software developer often relies on various general API(Application Programming Interface, That is Application Programming Interface) (API in such as JDK, Android) complete oneself development task.This kind of API's is large number of, opens Hair personnel are difficult to the function and its use occasion of known all API.How suitable API is selected in specific Code Context Completing the development task of itself often becomes the problem that developer encounters.In addition, many API have usage mode requirement, example Use combination, calling sequence, corresponding control structure (such as condition judgement, circulation) between such as API, and violating API makes It will lead to aacode defect with mode.Therefore, how to be carried out according to correct mode using being also out on the basis of selected API The challenge that hair personnel face.
An effective solution for this problem is to provide generation in the developing instruments such as software set development environment Code intelligent recommendation ability.This intelligent recommendation should pass through the analysis for the Code Context write for developer The API for being possible to occur on current location is speculated using code (such as API approach calling) and is recommended, thus auxiliary development Personnel efficiently, in high quality complete the development task of oneself.
Software code includes the various controls structures such as branch, circulation, therefore corresponding code data expression is required to instead This control structure is reflected, thus the structural information in reserved of codes.For this purpose, the present invention is using the deep learning net for supporting tree construction Network Tree-LSTM trains API using code prediction model, to realize the intelligent recommendation of production.Tree-LSTM is one Kind has the recurrent neural network of tree topology, and the data for receiving tree construction are used as input, and effectively coding input number Structural information in.The structure of Tree-LSTM is as shown in Figure 1.(bibliography of Tree-LSTM is Kai Sheng Tai, Richard Socher, Christopher D. Manning:Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks. ACL (1) 2015:1556-1566).
Summary of the invention
The purpose of the present invention is provide the API based on Code Context for software developer to use code intelligent recommendation Method.
API provided by the invention uses code building formula recommended method, is based on Tree-LSTM, particular by right A large amount of API comprising in target API(such as JDK, Android) source code (Open Source Code or business code) parsed and carry out structure A large amount of training sample is made, uses code prediction model using deep learning and statistical model training API on this basis.This hair Code prediction model in bright includes two parts: being indicated based on abstract code tree construction and the sentence of deep learning is predicted, is based on The API Calls parameter prediction of data dependence analysis and statistical model.
In the present invention, the abstract tree construction for devising a kind of code for being suitable for Tree-LSTM model treatment is indicated, is such as schemed (corresponding source code is shown in annex) shown in 2, node therein indicate that abstract API uses sentence or variable declarations/asignment statement Sentence or control structure, while indicating the control flow relation between them.It is this indicate in code variable and constant taken out As only remaining API Object Creation/method call/attribute access, control node (if, while etc.) and variable declarations etc.. API in code is abstracted as complete method signature using sentence using sentence node by abstract API, such as annex is shown Code in sig.initSign (pk) java.security.Signature.initSign can be abstracted as (java.security.PrivateKey).Variable declarations/assignment statement node takes out the variable declarations in code/assignment statement String signMode as the expression for omitted variables name and assignment constant, such as in the code that is shown of annex= Null can be abstracted as java.lang.String=Null.Control structure node If, ElseIf, Else, While, DoWhile, For, Foreach, Try, Catch, Finally, Switch, Case, Default respectively indicate corresponding control knot Structure.API uses sentence node and variable declarations/assignment statement node at most only one child node.This child node is his father API represented by node uses the abstract representation of next sentence of sentence or variable declarations/assignment statement, therefore the two are tied String signMode=null in the set membership order of representation flow relation of point, such as the code that is shown of annex can quilt It is abstracted as the child node of byte [] messageByte=message.getBytes ().Control structure node has multiple sons Node respectively indicates the code in its different control stream, for example, If control structure node can multiple child nodes respectively indicate condition Partial code (if it is determined that condition includes API Calls, then can generate corresponding node;If it is determined that condition does not include any API It calls, then node join will not be generated into abstract tree representation);The code of branch when being judged as true;ElseIf node (if There are ElseIf branches);Code after Else node (Else branch if it exists) and entirely If.It is parsed in condition part At the end of, a special node ConditionEnd node can be added to indicate the end of condition part;When entire control structure At the end of parsing, a special node ControlEnd node can be added to indicate the end of entire control structure.Such as annex Control structure If in the code shown includes four child nodes, and ConditionEnd node is (here due to the judgement item of If Any API Calls are not included in part, so directly indicating the end of condition part with ConditionEnd node); Java.security.PrivateKey=Constant node indicates the code of branch when Rule of judgment is true;Else knot Point;Java.security.getInstance (java.lang.String) node indicates the code after entire If control structure. One section of code is given, is parsed since the first row of code, the abstract tree construction for iteratively obtaining code indicates.
API based on Tree-LSTM uses code building formula recommended method, and process is as shown in Figure 3, the specific steps are as follows:
(1) statement model training, including following sub-step.
(1) code static analysis is carried out as unit of the method in training data source code, obtains corresponding abstract tree knot Structure indicates;
(2) the abstract tree construction of each method is indicated, is begun stepping through iteratively from its root node, removal currently traverses Node after N number of node (scale that N indicates code to be done), and the Hole for indicating code to be done (hole) with one is tied Point replaces the N number of node being removed, and indicates to obtain the code with hole and be abstracted tree construction, each is had hole Abstract tree construction indicate and first removed node is as a training sample;
(3) abstract API represented by each of the abstract tree construction expression in hole node will be had in all training samples It is mapped as vector, then all training samples input Tree-LSTM network is trained, obtains statement model.
(2) parameter model training, including following sub-step:
(1) in training sample obtained in step (1) code be abstracted tree construction indicate, in conjunction with corresponding source code into Row data dependency analysis adds data dependence side between the node relied on there are data flow, and for indicating variable declarations With its corresponding variable name of the node join of assignment, so that the abstract tree construction for obtaining joined data dependence indicates.Such as Fig. 4 institute Show (wherein solid line indicates control stream side, and dotted line indicates data flow side), the abstract tree construction that joined data dependence is indicated than former The abstract tree construction to begin has indicated mostly variable name represented by data flow side and node between node, other structures and original The abstract tree construction to begin indicates consistent.Such as variable represented by java.lang.String.getBytes () node is MessageByte, therefore added this variable name of messageByte in java.lang.String.getBytes () node; Java.lang.String.getBytes () node and java.security.Signature.update (byte []) simultaneously Node has a data dependence, thus java.lang.String.getBytes () node with The data flow side for thering is a dotted line to indicate between java.security.Signature.update (byte []) node;
(2) it being indicated for joined the abstract tree construction of data dependence obtained in sub-step (1), it is big to extract wherein all length In 2 path, then for the obtained all paths of extraction, count in each path all nodes respectively with the end of this paths The number of node generation data dependence;
(3) based on the statistics number in sub-step (2), a given candidate API recommends and has been currently joined into the pumping of data dependence As tree construction expression, calculating wherein each node can reach on the paths that candidate API recommends the length of node to be greater than 2 all Recommend the number of node generation data dependence with candidate API;
(4) it according to the statistics number in sub-step (3), calculates each node and candidate API recommends node to generate data dependence Probability, probability is higher, and variable represented by node is more likely to become the parameter in candidate API recommendation;
(5) according to the statistics number in sub-step (3), tightness degree of all candidate API recommendations in conjunction with current code is calculated, Probability is higher, it is stronger with the data dependence of current code to indicate that current candidate API recommends, in conjunction with closer, then in conjunction with sentence The probability that the current candidate API that model provides recommends calculates final probability, finally reorders to all candidate API recommendation.
(3) code is recommended, including following sub-step:
(1) user's input includes the program in code to be done (hole);
(2) it according to the input of user, runs statement model and parameter model provides API recommendation results;
(3) user selects according to API recommendation results;
(4) program of active user's input is updated according to the user's choice.
In the present invention, in step (1) and step (3) use Tree-LSTM model carry out sentence prediction model training and Prediction, at the same use reflection API sentence, control unit and its between control flow relation abstract tree construction indicate.
According to the method for the present invention, the API that the code finished writing recommends developer that may use line by line can be made With code, including API Object Creation/method call/attribute access, control statement (if, while etc.) and variable declarations etc., Can also call for API approach recommends relevant context variable as parameter.
API based on Tree-LSTM uses the characteristics of code building formula recommended method as follows:
1, the abstract tree construction for devising a kind of code for being suitable for Tree-LSTM model treatment indicates that node therein indicates Abstract API uses sentence, while indicating the control flow relation between them.It is this indicate in code variable and constant carry out It is abstract, only remain API Object Creation/method call/attribute access, control node (if, while etc.) and variable declarations Deng;
2, the feature of Child-Sum Tree-LSTM and N-ary Tree-LSTM respectively in Tree-LSTM is combined, is improved To be suitable for the deep learning network that API uses code to learn.Wherein each node in Child-Sum Tree-LSTM can be with There is any number of child node but child node is unordered, and each child node of N-ary Tree-LSTM is up to N number of child node but son Node is orderly.Each node can be made to have any number of son in conjunction with Child-Sum Tree-LSTM and N-ary Tree-LSTM Node and child node is orderly;
3, it is based on data-flow analysis, data dependence is added in the expression of abstract tree construction, and extracts wherein all length and is greater than 2 Path is used for count the number that all nodes in each path generate data dependence with the destination node of this paths respectively Parameter is recommended.
Detailed description of the invention
Fig. 1 is Tree-LSTM network structure used in the present invention.
Fig. 2 is the example that code used in the present invention is abstracted that tree construction indicates.
Fig. 3 is overview flow chart of the invention.
Fig. 4 is the example that joined the abstract tree construction of code of data dependence in the present invention and indicate.
Specific embodiment
It is as follows for a specific embodiment of java applet and JDK API.
(1) specific embodiment of statement model training.AST(, which is obtained, with JavaParser parsing Java code is abstracted language Method tree), since the root node of AST, all nodes in AST are traversed with visitor mode, and utilize the reflection mechanism of Java The complete list of API is obtained to extract API using code, obtains the complete method signature of API and as node join to working as In preceding abstract tree construction expression.Being abstracted tree construction to each indicates to begin stepping through from its root node, what removal currently traversed N number of node (scale that N indicates code to be done) after node, and indicate with one the Hole node of code to be done (hole) Replace the N number of node being removed, so as to iteratively construct training sample.It is based on for trained deep learning network API provided by TensorFlow and Fold frame carries out writing for deep learning network code.Wherein deep learning network Overall network structure realized based on the Child-Sum Tree-LSTM in Tree-LSTM, equation of transfer (TransitionEquations) it is improved based on the N-ary Tree-LSTM in Tree-LSTM (by original N-ary Tree- LSTM, which is changed to each node, can any number of child node) for the realization suitable for Child-Sum Tree-LSTM.
(2) specific embodiment of parameter model training.AST is obtained using JavaParser parsing Java code, is based on AST analyzes the situation that all variables and object are called in code, so as to obtain data dependence relation.By variable and object Name is added in corresponding node, and for there are the nodes of data dependence relation, data flow side is added between these nodes, It is indicated to obtain joined the abstract tree construction of data dependence.It is indicated based on the abstract tree construction that joined data dependence, from Root node starts, and by way of depth-first traversal, extracts and obtains all paths that all path lengths are greater than 2.For every The path of length greater than 2 judges the termination of all nodes and the path on the paths since the start node in the path Point whether there is data dependence, if there is data dependence, then the node and destination node have data dependence on the paths Number add 1, and the node and destination node have the number of data dependence on the paths in more new database.
(3) specific embodiment that code is recommended.Cursor is placed in code editor by user needs to carry out API using generation The position that code is recommended, and the recommendation button in code editor is clicked, so that the right-hand column in code editor can show one Recommendation list comprising N number of recommendation results.User can choose a recommendation results from recommendation list, this recommendation results can be automatic It is filled into cursor position.
Annex:
1: public byte[] sign(String message, String digestAlgorithm, PrivateKeypk)
throws GeneralSecurityException {
2: byte[] messageByte = message.getBytes();
3: String signMode = null;
4: if(pk == null){
5: pk = getPrivateKey("RSA");
6: String encryptionAlgorithm = pk.getAlgorithm();
7: signMode = combine(digestAlgorithm, encryptionAlgorithm);
8: }else{
9: String encryptionAlgorithm = pk.getAlgorithm();
10:signMode = combine(digestAlgorithm, encryptionAlgorithm);
11: }
12: Signature sig = Signature.getInstance(signMode);
13: sig.initSign(pk);
14: sig.update(messageByte);
15: return sig.sign();
16:}

Claims (3)

1. the API based on Tree-LSTM uses code building formula recommended method, which is characterized in that by largely comprising target The source code of API is parsed to construct a large amount of training sample, on this basis using deep learning and statistical model training API uses code prediction model;The code prediction model is two parts: based on the expression of abstract code tree construction and deep learning Sentence prediction, based on data dependence analysis and statistical model API Calls parameter prediction;
Wherein, a kind of abstract tree construction expression of code for being suitable for Tree-LSTM model treatment, ode table therein are devised Show abstract API using sentence or variable declarations/assignment statement or control structure, while indicating the control flow relation between them; It is this indicate in code variable and constant be abstracted, only remain API Object Creation/method call/attribute access, Control node and variable declarations;API in code is abstracted as complete side using sentence using sentence node by abstract API Method signature;Variable declarations/assignment statement in code is abstracted as omitted variables name and tax by variable declarations/assignment statement node It is worth the expression of constant;Control structure node If, ElseIf, Else, While, DoWhile, For, Foreach, Try, Catch, Finally, Switch, Case, Default respectively indicate corresponding control structure;API uses sentence node and variable Statement/assignment statement node at most only one child node;This child node be API represented by its father node using sentence or The abstract representation of next sentence of variable declarations/assignment statement, therefore the set membership order of representation stream of the two nodes closes System;Control structure node has multiple child nodes to respectively indicate the code in its different control stream;Terminate in condition part parsing When, a special node ConditionEnd node is added to indicate the end of condition part;It is tied when entire control structure parses A special node ControlEnd node is added to indicate the end of entire control structure in Shu Shi;One section of code is given, from generation The first row of code starts to be parsed, and the abstract tree construction for iteratively obtaining code indicates.
2. the API based on Tree-LSTM uses code building formula recommended method as described in claim 1, which is characterized in that tool Steps are as follows for body:
(1) statement model training, including following sub-step:
(1) code static analysis is carried out as unit of the method in training data source code, obtains corresponding abstract tree list Show;
(2) the abstract tree construction of each method is indicated, is begun stepping through iteratively from its root node, removal currently traverses Node after N number of node, N indicates the scale of code to be done;And indicate that the Hole in the i.e. hole of code to be done is tied with one Point replaces the N number of node being removed, and indicates to obtain the code with hole and be abstracted tree construction, each is had hole Abstract tree construction indicate and first removed node is as a training sample;
(3) abstract API represented by each of the abstract tree construction expression in hole node will be had in all training samples It is mapped as vector, then all training samples input Tree-LSTM network is trained, obtains statement model;
(2) parameter model training, including following sub-step:
(1) in training sample obtained in step (1) code be abstracted tree construction indicate, in conjunction with corresponding source code into Row data dependency analysis adds data dependence side between the node relied on there are data flow, and for indicating variable declarations It is added with its corresponding variable name of the node join of assignment so that the abstract tree construction for obtaining joined data dependence indicates The abstract tree construction of data dependence indicates to have indicated more than original abstract tree construction the data flow side between node, Yi Jijie The represented variable name of point;
(2) it being indicated for joined the abstract tree construction of data dependence obtained in sub-step (1), it is big to extract wherein all length In 2 path, then for the obtained all paths of extraction, count in each path all nodes respectively with the end of this paths The number of node generation data dependence;
(3) based on the statistics number in sub-step (2), a given candidate API recommends and has been currently joined into the pumping of data dependence As tree construction expression, calculating wherein each node can reach on the paths that candidate API recommends the length of node to be greater than 2 all Recommend the number of node generation data dependence with candidate API;
(4) it according to the statistics number in sub-step (3), calculates each node and candidate API recommends node to generate data dependence Probability, probability is higher, and variable represented by node is more likely to become the parameter in candidate API recommendation;
(5) according to the statistics number in sub-step (3), tightness degree of all candidate API recommendations in conjunction with current code is calculated, Probability is higher, it is stronger with the data dependence of current code to indicate that current candidate API recommends, in conjunction with closer, then in conjunction with sentence The probability that the current candidate API that model provides recommends calculates final probability, finally reorders to all candidate API recommendation;
(3) code is recommended, including following sub-step:
(1) user's input includes the program in code, that is, hole to be done;
(2) it according to the input of user, runs statement model and parameter model provides API recommendation results;
(3) user selects according to API recommendation results;
(4) program of active user's input is updated according to the user's choice.
3. the API based on Tree-LSTM uses code building formula recommended method as claimed in claim 2, which is characterized in that step Suddenly (1) and step (3) are middle using the progress sentence prediction model training of Tree-LSTM model and prediction, while using reflection API language Sentence, control unit and its between control flow relation abstract tree construction indicate.
CN201811501452.2A 2018-12-10 2018-12-10 Tree-LSTM-based API (application program interface) use code generation type recommendation method Active CN109739494B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811501452.2A CN109739494B (en) 2018-12-10 2018-12-10 Tree-LSTM-based API (application program interface) use code generation type recommendation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811501452.2A CN109739494B (en) 2018-12-10 2018-12-10 Tree-LSTM-based API (application program interface) use code generation type recommendation method

Publications (2)

Publication Number Publication Date
CN109739494A true CN109739494A (en) 2019-05-10
CN109739494B CN109739494B (en) 2023-05-02

Family

ID=66359217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811501452.2A Active CN109739494B (en) 2018-12-10 2018-12-10 Tree-LSTM-based API (application program interface) use code generation type recommendation method

Country Status (1)

Country Link
CN (1) CN109739494B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459491A (en) * 2020-03-17 2020-07-28 南京航空航天大学 Code recommendation method based on tree neural network
CN111723192A (en) * 2020-06-19 2020-09-29 南开大学 Code recommendation method and device
CN111966818A (en) * 2020-07-26 2020-11-20 复旦大学 Interactive API code segment recommendation method based on deep learning
CN111966817A (en) * 2020-07-24 2020-11-20 复旦大学 API recommendation method based on deep learning and code context structure and text information
CN112162746A (en) * 2020-10-29 2021-01-01 中国人民解放军国防科技大学 Automatic program construction method based on network knowledge convergence and iterative search
CN112230781A (en) * 2019-07-15 2021-01-15 腾讯科技(深圳)有限公司 Character recommendation method and device and storage medium
CN113076089A (en) * 2021-04-15 2021-07-06 南京大学 API completion method based on object type
JP2022546636A (en) * 2019-11-06 2022-11-04 グーグル エルエルシー Automatic generation of machine learning models for software tools that run on source code

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335352A (en) * 2015-11-30 2016-02-17 武汉大学 Entity identification method based on Weibo emotion
CN106104521A (en) * 2014-01-10 2016-11-09 克鲁伊普公司 System, apparatus and method for the emotion in automatic detection text
CN107665432A (en) * 2016-07-29 2018-02-06 卡巴斯基实验室股份制公司 The system and method that suspicious user behavior is identified in the interacting of user and various bank services
CN107924579A (en) * 2015-08-14 2018-04-17 麦特尔有限公司 The method for generating personalization 3D head models or 3D body models
US20180329987A1 (en) * 2017-05-09 2018-11-15 Accenture Global Solutions Limited Automated generation of narrative responses to data queries

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106104521A (en) * 2014-01-10 2016-11-09 克鲁伊普公司 System, apparatus and method for the emotion in automatic detection text
CN107924579A (en) * 2015-08-14 2018-04-17 麦特尔有限公司 The method for generating personalization 3D head models or 3D body models
CN105335352A (en) * 2015-11-30 2016-02-17 武汉大学 Entity identification method based on Weibo emotion
CN107665432A (en) * 2016-07-29 2018-02-06 卡巴斯基实验室股份制公司 The system and method that suspicious user behavior is identified in the interacting of user and various bank services
US20180329987A1 (en) * 2017-05-09 2018-11-15 Accenture Global Solutions Limited Automated generation of narrative responses to data queries

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张峰逸;彭鑫;陈驰;赵文耘;: "基于深度学习的代码分析研究综述" *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112230781B (en) * 2019-07-15 2023-07-25 腾讯科技(深圳)有限公司 Character recommendation method, device and storage medium
CN112230781A (en) * 2019-07-15 2021-01-15 腾讯科技(深圳)有限公司 Character recommendation method and device and storage medium
JP7220833B2 (en) 2019-11-06 2023-02-10 グーグル エルエルシー Automatic generation of machine learning models for software tools that run on source code
JP2022546636A (en) * 2019-11-06 2022-11-04 グーグル エルエルシー Automatic generation of machine learning models for software tools that run on source code
CN111459491A (en) * 2020-03-17 2020-07-28 南京航空航天大学 Code recommendation method based on tree neural network
CN111459491B (en) * 2020-03-17 2021-11-05 南京航空航天大学 Code recommendation method based on tree neural network
CN111723192A (en) * 2020-06-19 2020-09-29 南开大学 Code recommendation method and device
CN111723192B (en) * 2020-06-19 2024-02-02 南开大学 Code recommendation method and device
CN111966817B (en) * 2020-07-24 2022-05-20 复旦大学 API recommendation method based on deep learning and code context structure and text information
CN111966817A (en) * 2020-07-24 2020-11-20 复旦大学 API recommendation method based on deep learning and code context structure and text information
CN111966818A (en) * 2020-07-26 2020-11-20 复旦大学 Interactive API code segment recommendation method based on deep learning
CN111966818B (en) * 2020-07-26 2024-03-08 复旦大学 Deep learning-based interactive API code segment recommendation method
CN112162746B (en) * 2020-10-29 2022-07-05 中国人民解放军国防科技大学 Automatic program construction method based on network knowledge convergence and iterative search
CN112162746A (en) * 2020-10-29 2021-01-01 中国人民解放军国防科技大学 Automatic program construction method based on network knowledge convergence and iterative search
CN113076089A (en) * 2021-04-15 2021-07-06 南京大学 API completion method based on object type
CN113076089B (en) * 2021-04-15 2023-11-21 南京大学 API (application program interface) completion method based on object type

Also Published As

Publication number Publication date
CN109739494B (en) 2023-05-02

Similar Documents

Publication Publication Date Title
CN109739494A (en) A kind of API based on Tree-LSTM uses code building formula recommended method
US10817409B2 (en) System and method for testing software applications in a software defined network
Li et al. Api-bank: A benchmark for tool-augmented llms
Ghamarian et al. Modelling and analysis using GROOVE
Masuhara et al. Modeling crosscutting in aspect-oriented mechanisms
CN108388425A (en) A method of based on LSTM auto-complete codes
Abrial Event based sequential program development: Application to constructing a pointer program
CN106528613B (en) Intelligent answer method and device
CN104407863B (en) Abstract control model programmer and method
CN106649103A (en) Android application program automatically black box testing method and system
CN109284086B (en) Demand-oriented adaptive dynamic evolution method for Web service
CN110309289A (en) A kind of sentence generation method, sentence generation device and smart machine
CN108563433A (en) A kind of device based on LSTM auto-complete codes
CN110147544A (en) A kind of instruction generation method, device and relevant device based on natural language
CN111966817B (en) API recommendation method based on deep learning and code context structure and text information
CN111209211A (en) Cross-project software defect prediction method based on long-term and short-term memory neural network
Katz et al. Synthesizing, correcting and improving code, using model checking-based genetic programming
CN112015896B (en) Emotion classification method and device based on artificial intelligence
US11921621B2 (en) System and method for improved unit test creation
CN115238045A (en) Method, system and storage medium for extracting generation type event argument
Gezici et al. Explainable AI for software defect prediction with gradient boosting classifier
Legeard et al. A comparison of the BTT and TTF test-generation methods
CN114327609A (en) Code completion method, model and tool
CN109189941A (en) For updating the method, apparatus, equipment and medium of model parameter
CN107608890A (en) A kind of method of the event handling function model generation gui software test case based on Weight

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant