CN110879704B - API recommendation method based on class inheritance relation analysis - Google Patents
API recommendation method based on class inheritance relation analysis Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 255
- 238000004458 analytical method Methods 0.000 title claims abstract description 13
- 101100277553 Caenorhabditis elegans dep-1 gene Proteins 0.000 claims description 11
- 230000001419 dependent effect Effects 0.000 claims description 10
- 230000008275 binding mechanism Effects 0.000 claims description 4
- 238000011161 development Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 235000019580 granularity Nutrition 0.000 description 2
- 238000012098 association analyses Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-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
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.
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)
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)
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 |
-
2019
- 2019-09-03 CN CN201910829311.1A patent/CN110879704B/en active Active
Patent Citations (3)
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)
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 |