CN110879704B - API recommendation method based on class inheritance relation analysis - Google Patents

API recommendation method based on class inheritance relation analysis Download PDF

Info

Publication number
CN110879704B
CN110879704B CN201910829311.1A CN201910829311A CN110879704B CN 110879704 B CN110879704 B CN 110879704B CN 201910829311 A CN201910829311 A CN 201910829311A CN 110879704 B CN110879704 B CN 110879704B
Authority
CN
China
Prior art keywords
class
methods
api
level
dependency
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.)
Active
Application number
CN201910829311.1A
Other languages
Chinese (zh)
Other versions
CN110879704A (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.)
Southeast University
Original Assignee
Southeast 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 Southeast University filed Critical Southeast University
Priority to CN201910829311.1A priority Critical patent/CN110879704B/en
Publication of CN110879704A publication Critical patent/CN110879704A/en
Application granted granted Critical
Publication of CN110879704B publication Critical patent/CN110879704B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Abstract

The invention discloses an API (Application Programming Interface ) recommending method based on class inheritance relation analysis, which classifies the methods according to hierarchical structure relations among classes to which the methods belong, and analyzes association relation of dependency information among the methods to determine the relation among the methods belonging to different hierarchical classes. Through balancing the hierarchical structure relation of the classes among the methods, the dependency relation among the methods and the use frequency of the methods among the hierarchical structures, the accuracy of the recommendation result of the API method can be effectively improved for the items with stronger logic relation among the methods.

Description

API recommendation method based on class inheritance relation analysis
Technical Field
The invention particularly relates to an API recommendation method based on class inheritance relation analysis, and belongs to the technical field of API method recommendation.
Background
Efficient multiplexing of the API (Application Programming Interface, i.e., application programming interface) method can greatly improve the working efficiency of developers, reduce development costs and improve software quality. However, as the problem goes deep, and time-lapses, the number of API methods increases explosively, and developers face greater challenges in choosing to use different API methods. Once a developer uses the API method by mistake in the calling process, the problems of program defects, running errors and the like can be caused, and security faults, project crashes and the like can be caused.
Based on the problems, students at home and abroad are continuously and deeply researched at present, and a great deal of research results are obtained. For research of API method recommendation, there are three modes of data mining-based API method recommendation, natural language processing-based API method recommendation and machine learning-based API method recommendation. All the above researches recommend proper API methods for developers to a certain extent, but the emphasis of the methods is mostly in the context of programs, and related results are recommended according to the characteristics of repeatability predictability of code languages and the like, and the inheritance relationship of the classes of the methods is not considered, namely the dependency relationship among the recommended API methods is not considered. The problems of inaccurate recommendation logic structure and insufficient recommendation accuracy exist in the application of the API method recommendation results in both theoretical research results and actual scenes.
Aiming at the problems, the invention provides the API recommendation method based on class inheritance relation analysis, which recommends the API method in a new angle, greatly utilizes the JAVA language characteristic, improves the recommendation priority of less-used methods belonging to higher classes by dividing the methods based on different classes of hierarchical structures, particularly in the item of calling more high-class methods, ensures that a recommended API method result list has stronger logic hierarchical structure, not only ensures programmers to find the API method for solving the problems more quickly, saves development time and cost, but also binds and outputs the methods belonging to different classes with certain dependency relation, deepens the learning efficiency of developers and greatly improves the accuracy of recommendation results.
Disclosure of Invention
Aiming at the problems existing in the prior art, the invention provides a hierarchical structure relation between methods and dependency information between methods for carrying out association relation analysis so as to determine the relation between the methods belonging to different hierarchical classes, and applies the relation to the result recommended by the API method, so that a developer can search the related API method for realizing the function in the currently recommended method list, thereby improving the accuracy of the recommended result.
In order to achieve the above object, the technical scheme of the present invention is as follows, an API recommendation method based on class inheritance relation analysis, comprising the steps of:
step 1), analyzing item source codes, dividing the class of the method according to the declaration structure of the class, and obtaining the actual use frequency of all the methods;
step 2) analyzing the association relation between the methods belonging to the high-level class and the methods belonging to the low-level class according to the hierarchical structure of the class to which the methods belong and according to two levels of the variables and the methods so as to calculate the dependency degree among the methods;
step 3) integrating the dependence among the methods, the actual use frequency of each method and the level of the class to which the method belongs, and calculating the recommended priority value of the API method;
step 4) recommending the API method from low to high according to the declaration hierarchy of the class according to the size of the recommendation priority value of the API method.
In the above method, the step 2) calculates the dependency Dep between the methods, and the specific process is as follows:
(a) Calculating method-level dependency Dep1:
the formula:
Dep1=cm/|d1-d2|;
wherein cm is the number of times the subclass method calls the high-level class method, and d1 and d2 are the levels of the subclass method and the class to which the high-level class method belongs;
(b) Calculating variable level dependency Dep2:
the formula:
Dep2=cf/|d1-d2|;
wherein cf is the number of high-level class variables called by the subclass method, and all the variables appear in the high-level class method, and d1 and d2 are the levels of the subclass method and the class to which the high-level class method belongs;
(c) And (3) obtaining the average value of the Dep1 and Dep2 results, namely, the sub-class method and the dependency Dep belonging to the high-level class method.
In the above method, step 3) obtains a recommendation priority value r for each API method:
(a) Acquiring the actual use frequency f of an API method through source code analysis, and acquiring the hierarchy d of the class inheritance relationship of the current method through a binding mechanism of the JDT existing tool abstract syntax tree;
(b) The result of the priority value r is weighted by the dependent binding result Dep, the priority value rm of the dependent method, the actual use frequency f of the API method and the hierarchy d of the class to which the method belongs:
the formula:
r=0.1×Dep×rm+2×f+log 3 d。
the beneficial effects are that: the method of the invention applies the hierarchical structure relationship of classes among API methods and the dependency information among methods to the recommended result of the API methods, and compared with the prior art, the method has the following advantages:
(1) The required information is easy to obtain. The emphasis of the existing API method recommendation technology is to recommend related results according to the context of programs, the repeatability predictability of code languages and other characteristics, and certain requirements exist for input information, and corresponding processing is needed before input according to specific requirements. The method only needs to input the program source codes, uses the abstract grammar tree to represent the source program language into a tree structure according to the context-free grammar and analyzes the nodes, thereby reducing the requirement on input information.
(2) The recommended results are interpretable. In the current API method recommendation results, each method is relatively independent on the hierarchical structure of the class, and the ordering results of the methods are irregular, namely the methods lack of necessary logic structure relations. The method of the invention recommends the API method in a new angle, greatly utilizes the JAVA language characteristic, improves the recommendation priority of less-used methods belonging to higher class hierarchy by dividing the method based on different class hierarchies, particularly in the project of calling more high class hierarchies, ensures that a recommended API method result list has stronger logic hierarchy, can ensure that programmers can more quickly find the API method for solving the problem, saves development time and cost, can bind and output the methods belonging to different class hierarchies with certain dependency relationship, and deepens the learning efficiency of developers.
(3) The recommendation result has higher accuracy than the traditional method. According to the design principle of the class in the object-oriented, the subclass inherits from the parent class, and how the parent class design solves a problem in most cases, the subclass specifically solves a part of the related problem by realizing or rewriting the related method of the parent class. In the development process, developers often need to flexibly call the methods to solve the practical problem, rather than just call the methods of the class to which the current object belongs. The method improves the priority of the method belonging to the high-level class, so that the recommended result is more in line with the actual development condition, and the accuracy of the result is greatly improved.
Drawings
Fig. 1 is a flow chart of the method of the present invention.
FIG. 2 is a diagram of an embodiment of the present invention, showing relevant content in the embodiment.
FIG. 3 is a flow chart of the extraction of dependency information in accordance with the present invention.
FIG. 4 is a dependency binding flowchart of the present invention.
The specific embodiment is as follows:
in order to enhance the understanding of the present invention, the present embodiment will be described in detail with reference to the accompanying drawings.
Aiming at the problem that the final recommendation result is not high in accuracy due to the fact that the traditional API method recommendation results are not closely connected in a logic structure, the method is switched in from a new angle, and related API methods are recommended upwards layer by layer according to the declaration level of the class, so that the method which belongs to the high-level class and is easily ignored in the traditional final recommendation method list can be recommended, the logic relevance of the final recommendation result on the class level of the method is improved, the ranking order of the methods which belong to the higher-level class is improved, and finally the accuracy of the recommendation result is improved.
1. Architecture of architecture
FIG. 1 shows a design architecture of an API recommendation method based on class inheritance relationship analysis, several of which are given below
Detailed description of the main part.
1API method dependency information acquisition
The function of this module is: and obtaining hierarchical structure information of the class of the API method by inputting the source code of the target item, dependency information among the methods and historical use frequency of the methods.
All information required by the method can be obtained through analyzing the source code, the stripping of the source program information is realized in an AST tree, the AST tree is an abstract syntax tree, is an intermediate representation form of a computer program, and is a data structure for representing a computer high-level language into a tree structure according to a context-free grammar. Each node on the tree represents a syntactic structure, and each node in the tree corresponds to a structure of source code. The recommendation of the method of the present invention mainly involves three granularities of classes, objects and methods. The structure can fully ensure that the logic structure is clear in the process of extracting the dependent information. And the method basically does not relate to grammar information, and the abstract grammar tree does not show each detail of the real grammar, so that the acquired information is sufficiently concise and clear.
The AST tree analyzes the JAVA source code, represents the code into a tree structure, and can accurately obtain the needed information by accessing the nodes of the AST tree. The class information of the object corresponding to the node can be accessed through the node, the class names are obtained through the layer-by-layer upward access of the class information, the declaration hierarchical structure information of the class can be sequentially obtained, and the method is divided into hierarchical structures according to the class names; attribute information of a class is obtained for finding a way for both the child and parent classes to use these attributes. The method information is acquired according to class, and the invention needs to acquire the return value type of the method for filtering some methods which are not suitable for being used in the current context; acquiring a parameter list and a variable list of the method, which are used for judging whether the attributes of certain classes are used or not; and obtaining a method name for displaying the recommendation result.
The method of the present invention, as shown in fig. 3, can be specifically divided into three steps:
(1) Source code parsing: converting the source code into an abstract syntax tree structure through analyzing the target source code;
(2) Extracting node information: traversing nodes of the abstract syntax tree, and extracting the hierarchical structure information of the whole class statement according to the class to which the current object belongs and the binding mechanism of the abstract syntax tree;
(3) And (3) obtaining dependent information: the dependency information of the two granularities of class and method are extracted respectively. In the class-level information extraction process, all variable information, method names, method return types, method parameter lists and other information contained in the class can be accessed through the class to which the object belongs; the method can be used for searching the use condition of each method on the attribute in the information extraction process of the method level.
2API method association analysis
The function of this module is as shown in fig. 4: based on the dependency information, the degree of dependency among all methods of the same object is analyzed.
(1) And filtering out a large number of methods which should not be recommended according to the return value type of the method so as to reduce the time of subsequent analysis and optimize the experimental result.
(2) A list of calling methods for each method is analyzed, and if some methods belonging to the parent class appear in the list and the method can be called by the current object, the methods are considered to have dependency Dep1 and recorded.
The formula:
Dep1=cm/|d1-d2|;
where cm is the number of times the subclass method calls the high-level class method, and d1 and d2 are the levels of the class to which the subclass method and the high-level class method belong.
(3) Analyzing the parameter list of each method and all variables used by the method, if there are some attributes of the father class of the object and some methods of the father class use the attributes, and if the current object can call the father class methods, then considering that there is a dependence of Dep2 between the methods and recording the methods.
The formula:
Dep2=cf/|d1-d2|;
where cf is the number of high-level class variables called by the subclass method and these variables all appear in the high-level class method, d1 and d2 are the hierarchy of the subclass method and the class to which the high-level class method belongs.
(4) Arranging the dependency lists of the two dependency modes in the step (2) and the step (3), wherein the first mode calculates the dependency degree according to the distance of the hierarchical structure of the class to which the two methods belong, and the smaller the distance is, the higher the dependency degree is; the second mode calculates the degree of dependence according to the combination of the hierarchical structure distance of the class to which the two methods belong and the number of the changed attributes, and the smaller the distance is, the more the changed attributes are, the higher the degree of dependence is.
(5) And ordering and binding the methods according to the degree of dependence Dep, wherein the bound methods can be used as candidate results of API method recommendation in recommendation.
3API method recommendation results
The function of this module is: and applying the inheritance association relation of the class to the API method recommendation result.
(1) Setting a priority value r, wherein the result is weighted by a dependent binding result Dep, a priority value rm of a dependent method, an API method history use frequency f and a hierarchy d of a class to which the method belongs:
the formula:
r=0.1×Dep×rm+2×f+log 3 d。
(2) And according to the r value and the hierarchical structure relation of class declaration, sequencing and outputting the results sequentially from the large to the small according to the declaration hierarchy of the class.
2. Process flow of the method
Referring to fig. 1 and 2, an API recommendation method based on class inheritance relationship analysis includes the following steps:
step 1), analyzing item source codes, dividing the class of the method according to the declaration structure of the class, and obtaining the actual use frequency of all the methods;
step 2) analyzing the association relation between the methods belonging to the high-level class and the methods belonging to the low-level class according to the hierarchical structure of the class to which the methods belong and according to two levels of the variables and the methods so as to calculate the dependency degree among the methods;
(a) Calculating method-level dependency Dep1:
the formula:
Dep1=cm/|d1-d2|;
wherein cm is the number of times the subclass method calls the high-level class method, and d1 and d2 are the levels of the subclass method and the class to which the high-level class method belongs;
(b) Calculating variable level dependency Dep2:
the formula:
Dep2=cf/|d1-d2|;
wherein cf is the number of high-level class variables called by the subclass method, and all the variables appear in the high-level class method, and d1 and d2 are the levels of the subclass method and the class to which the high-level class method belongs;
(c) And (3) obtaining the average value of the Dep1 and Dep2 results, namely, the sub-class method and the dependency Dep belonging to the high-level class method.
Step 3) integrating the dependence among the methods, the actual use frequency of each method and the level of the class to which the method belongs, and calculating the recommended priority value of the API method;
(a) Acquiring the historical use frequency f of an API method through input source codes, and acquiring the level d of the class inheritance relationship of the current object according to the current object through a binding mechanism of the JDT existing tool abstract syntax tree;
(b) The result of the priority value r is weighted by the dependent binding result Dep, the priority value rm of the dependent method, the historical use frequency f of the API method and the hierarchy d of the class to which the method belongs:
the formula:
r=0.1×Dep×rm+2×f+log 3 d。
step 4) recommending the API method from low to high according to the declaration hierarchy of the class according to the size of the recommendation priority value of the API method.
Specific examples:
for convenience of description, we assume that there are the following simplified application examples: the hierarchical structure set of the source codes of the target program, the dependency information set among methods and the ordering set of the using frequencies of the methods are as follows:
three classes, variables in the classes, and list of methods involved therein, contained by the target program source code:
MyClass:
{name,superClass,count},
{getName,setName,getSuperClass,setSuperClass,getCount,setCount}
AllClass:
{current,allClass},
{getAllClass,setAllClass,getCurrent,setCurrent,clear}
Object:
{},
{equals,getClass,hashcode,notify,notifyAll,toString,wait};
hierarchical structure C:
C 1 :MyClass
C 2 :AllClass
C 3 :Object;
dependency information M existing between methods:
M 1 :setName{current,getAllClass}
M 2 :setSuperClass{getAllClass}
M 3 :setCount{current};
the actual use frequency ordering of the method F:
F:{setName,setSuperClass,getCount,setAllClass,setCurrent,getName,getSuperClass,setCount,getAllClass,clear,getCurrent,getClass,toString,equals,ashcode,notify,notifyAll,wait};
according to our previously mentioned calculation steps, the following are carried out:
step one, obtaining a hierarchical structure C of the source codes of the target program, dependency information M among methods and actual use frequency ordering F of the methods.
Second, calculate the dependency degree (taking setName and toString as examples) among every method in the dependency information M:
first, a method level dependency is calculated. The dependency is the dependency of the method belonging to the higher-level class on the method belonging to the lower-level class, i.e. the dependency result is given to toString. The method level dependence between setName and toString is calculated according to a formula: 1/|2|=0.5.
Then, variable level dependencies are calculated. The method level dependence between setName and toString is calculated according to a formula: 0/|2|=0.
And finally, integrating the calculation results. The dependencies of setName and toString are weighted averages of method-level dependencies and variable-level dependencies: 0.25.
the dependencies between the rest of the API methods are calculated according to the method, and a dependency binding relationship D is obtained (no dependency information is extracted between the methods which are not shown in the table, namely, no dependency relationship exists):
D 1 :setName{setCurrent,getCurrent,getAllClass,toString}
D 2 :setSuperClass{getAllClass,clear}
D 3 :setCount{setCurrent,getCurrent};
and thirdly, sorting all API methods according to the hierarchical type and the actual use frequency to obtain a method sorting Q.
Q 1 :MyClass{setName,setSuperClass,getCount,getName,getSuperClass,setCount}
Q 2 :AllClass{setAllClass,setCurrent,getAllClass,clear,getCurrent}
Q 3 :Object{getClass,toString,equals,ashcode,notify,notifyAll,wait}
Fourth, the recommendation priority r (setName is taken as an example) is calculated by combining the dependency binding relationship D and the method ordering Q. The recommended priority value of setName is calculated according to the formula: 0.1×0×0+2×0.3+log 3 1=0.6。
Fifthly, recommending an API method list R from low to high according to the class declaration hierarchy according to the size of the method recommendation priority value R:
R 1 :setName-MyClass
R 2 :setSuperClass-MyClass
R 3 :getCount-MyClass
R 4 :getCurrent-AllClass
R 5 :setCurrent-AllClass
R 6 :getAllClass-AllClass
R 7 :clear-AllClass
R 8 :toString-Object
R 9 :getClass-Object
R 10 :equals-Object;
it should be noted that the above-mentioned embodiments are not intended to limit the scope of the present invention, and equivalent changes or substitutions made on the basis of the above-mentioned technical solutions fall within the scope of the present invention as defined in the claims.

Claims (1)

1. An API recommendation method based on class inheritance relationship analysis, the method comprising the steps of:
step 1), analyzing item source codes, dividing the class of the method according to the declaration structure of the class, and obtaining the actual use frequency of all the methods;
step 2) analyzing the association relation between the methods belonging to the high-level class and the methods belonging to the low-level class according to the hierarchical structure of the class to which the methods belong and according to two levels of the variables and the methods so as to calculate the dependency degree among the methods;
step 3) integrating the dependence among the methods, the actual use frequency of each method and the level of the class to which the method belongs, and calculating the recommended priority value of the API method;
step 4) recommending the API method according to the class declaration hierarchy according to the recommendation priority value of the API method;
the step 2) calculates the dependency Dep between the methods, and the specific flow is as follows:
(a) Calculating method-level dependency Dep1:
the formula:
Dep1=cm/|d1-d2|;
wherein cm is the number of times the subclass method calls the high-level class method, and d1 and d2 are the levels of the subclass method and the class to which the high-level class method belongs;
(b) Calculating variable level dependency Dep2:
the formula:
Dep2=cf/|d1-d2|;
wherein cf is the number of high-level class variables called by the subclass method, and all the variables appear in the high-level class method, and d1 and d2 are the levels of the subclass method and the class to which the high-level class method belongs;
(c) The average value of the Dep1 and Dep2 results is calculated, namely the dependency Dep of the subclass method and the high-level class method is obtained;
calculating a priority value r recommended by the API method in the step 3):
(a) Acquiring the actual use frequency f of an API method through source code analysis, and acquiring the hierarchy d of the class inheritance relationship of the current method through a binding mechanism of the JDT existing tool abstract syntax tree;
(b) The result of the priority value r is weighted by the dependent binding result Dep, the priority value rm of the dependent method, the actual use frequency f of the API method and the hierarchy d of the class to which the method belongs:
the formula:
r=0.1×Dep×rm+2×f+log 3 d;
and the size of the priority value r recommended by each API method is sequentially output from low to high according to the declaration hierarchical structure of the inter-method class.
CN201910829311.1A 2019-09-03 2019-09-03 API recommendation method based on class inheritance relation analysis Active CN110879704B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910829311.1A CN110879704B (en) 2019-09-03 2019-09-03 API recommendation method based on class inheritance relation analysis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910829311.1A CN110879704B (en) 2019-09-03 2019-09-03 API recommendation method based on class inheritance relation analysis

Publications (2)

Publication Number Publication Date
CN110879704A CN110879704A (en) 2020-03-13
CN110879704B true CN110879704B (en) 2024-01-12

Family

ID=69727637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910829311.1A Active CN110879704B (en) 2019-09-03 2019-09-03 API recommendation method based on class inheritance relation analysis

Country Status (1)

Country Link
CN (1) CN110879704B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109670022A (en) * 2018-12-13 2019-04-23 南京航空航天大学 A kind of java application interface use pattern recommended method based on semantic similarity
CN109814855A (en) * 2017-11-21 2019-05-28 南京大学 A kind of API recommended method based on object classification and adaptive subgraph match
CN110007920A (en) * 2018-01-04 2019-07-12 阿里巴巴集团控股有限公司 A kind of method, apparatus and electronic equipment obtaining code dependence

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10592304B2 (en) * 2016-11-10 2020-03-17 International Business Machines Corporation Suggesting application programming interfaces based on feature and context analysis

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814855A (en) * 2017-11-21 2019-05-28 南京大学 A kind of API recommended method based on object classification and adaptive subgraph match
CN110007920A (en) * 2018-01-04 2019-07-12 阿里巴巴集团控股有限公司 A kind of method, apparatus and electronic equipment obtaining code dependence
CN109670022A (en) * 2018-12-13 2019-04-23 南京航空航天大学 A kind of java application interface use pattern recommended method based on semantic similarity

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吕晨.一种基于新型图模型的API推荐系统.计算机学报.2015,全文. *

Also Published As

Publication number Publication date
CN110879704A (en) 2020-03-13

Similar Documents

Publication Publication Date Title
CN108932192B (en) Python program type defect detection method based on abstract syntax tree
US5828883A (en) Call path refinement profiles
US9298453B2 (en) Source code analytics platform using program analysis and information retrieval
US6523171B1 (en) Enhanced source code translator from procedural programming language (PPL) to an object oriented programming language (OOPL)
US8601016B2 (en) Pre-generation of structured query language (SQL) from application programming interface (API) defined query systems
US20070033440A1 (en) Parameterized unit tests
CN110502227B (en) Code complement method and device, storage medium and electronic equipment
CN109117164B (en) Micro-service updating method and system based on difference analysis of key elements
US8806452B2 (en) Transformation of computer programs and eliminating errors
CN109240666B (en) Function calling code generation method and system based on call stack and dependent path
CN102662825B (en) Method for detecting memory leakage of heap operational program
CN110059006B (en) Code auditing method and device
Aiken et al. A toolkit for constructing type-and constraint-based program analyses
CN109408385B (en) A kind of disfigurement discovery method based on mischief rule and classifying feedback
CN116406459A (en) Code processing method, device, equipment and medium
Yessenov et al. Data-driven synthesis for object-oriented frameworks
CN108563561B (en) Program implicit constraint extraction method and system
CN110874213B (en) Runtime type extension and reflection method of static strong type language
CN110879704B (en) API recommendation method based on class inheritance relation analysis
CN115454702A (en) Log fault analysis method and device, storage medium and electronic equipment
Romanov et al. Representing programs with dependency and function call graphs for learning hierarchical embeddings
CN112100059B (en) C language pointer type analysis method
Grechanik et al. Differencing graphical user interfaces
Gabrijelčič Mastering Delphi Programming: A Complete Reference Guide: Learn all about building fast, scalable, and high performing applications with Delphi
CN109299004B (en) Method and system for analyzing difference of key elements

Legal Events

Date Code Title Description
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