Implicit dependency mode analysis method based on CPG + graph

An implicit dependency and pattern analysis technology, applied in the direction of program code conversion, code compilation, etc., can solve problems that cannot be ignored, code implicit dependency patterns are unknown, find, understand and change them, and achieve the effect of reducing complexity

Pending Publication Date: 2022-08-09
XI AN JIAOTONG UNIV
View PDF0 Cites 2 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0004] But the "invisibility" of implicit dependencies makes it harder to find them, understand them, and change them
In fact, file-level implicit dependencies account for more than 25% of all file-level dependencies, making it impossible to ignore them
Although existing work has carried out related research on the extraction method of implicit dependencies and the impact on...

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Implicit dependency mode analysis method based on CPG + graph
  • Implicit dependency mode analysis method based on CPG + graph
  • Implicit dependency mode analysis method based on CPG + graph

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0035] In order to make the purpose, features and advantages of the present invention more obvious and understandable, the specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings and embodiments.

[0036] Take the known open source project Django-3.2a1 as an example.

[0037] like figure 1 As shown, an implicit dependency pattern analysis method based on CPG+ graph includes the following steps:

[0038] Step S1: Enter the Django-3.2a1 project into the ENRE tool to obtain its implicit dependencies.

[0039] Step S2: Obtain the abstract syntax tree of the Django-3.2a1 project, retain the required attributes, convert it into json data, and draw it into an abstract syntax tree according to the json data.

[0040] Step S3: In order to facilitate the merging operation of the subsequent graphs, the graphs need to be processed:

[0041] Step S301: According to the json data, convert it into an abstract syntax tree,...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

The invention discloses an implicit dependency mode analysis method based on a CPG + graph, which is used for conditionally acquiring a program dependency graph so as to reduce the complexity of an intermediate representation form of a graph structure for generating codes, and can be used for mining an implicit dependency mode from the graph due to the addition of implicit dependency information. By analyzing and analyzing source codes, an abstract syntax tree, a control flow graph and a program dependency graph are generated, and a CPG + graph is jointly constructed, so that the complexity of an intermediate representation form of a graph structure for generating codes is reduced. According to the method, the project file can be quickly and effectively analyzed, the specific implicit dependency mode is mined from the project file, the problem that the current implicit dependency mode is still unknown is solved, and the specific implicit dependency mode and the number can be quickly obtained from the project.

Description

technical field [0001] The invention belongs to the field of program analysis, in particular to an implicit dependency pattern analysis method based on CPG+graph. Background technique [0002] Dependency between software entities is the cornerstone of most software architecture analysis and architecture analysis tools, including architecture restoration, architecture problem or anti-pattern detection, defect prediction, and change impact analysis. However, because of its own characteristics, many languages ​​cannot show their syntax dependencies in the source code, such as dynamic languages ​​Python, JavaScript, and Ruby. Due to the lack of explicit type references, some dependencies are not visible during static syntax analysis of the source code. is invisible, as opposed to display dependencies that can be directly identified. Such invisible syntactic dependencies due to dynamic typing are called implicit dependencies. [0003] Existing architecture analysis tools usuall...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
IPC IPC(8): G06F8/41
CPCG06F8/433G06F8/427
Inventor 晋武侠周瑞彪刘烃范铭刘杨钟定洪
Owner XI AN JIAOTONG UNIV
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products