Pointer analysis method based on offline constraint graph

A technology of pointer analysis and constraint graph, applied in the field of pointer analysis, which can solve the problems that affect the efficiency of pointer analysis algorithm and redundant depth-first search process.

Active Publication Date: 2016-05-18
SOUTHEAST UNIV
View PDF4 Cites 2 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

The disadvantages of LCD are: (1) The effectiveness of this online cycle detection strategy relies on the assumption that two nodes of a directed edge have the same pointing set usually because the two nodes are in the same cycle
If the above assumptions are often not established, the LCD's online cycle detection strategy will cause the LCD to search the constraint graph when there

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
  • Pointer analysis method based on offline constraint graph

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0046] The technical solution of the present invention will be described in detail below in conjunction with the accompanying drawings.

[0047] Such as figure 1 As shown, the pointer analysis method ADD based on the offline constraint graph of the present invention comprises the following steps:

[0048] (1) Construct an offline constraint graph according to the input constraint set;

[0049] For the input constraint set, ADD uses simple constraint statements, load constraint statements and store constraint statements to construct an offline constraint graph. The construction rules of the offline constraint graph are as follows: when the input constraint set involves N variables, the offline constraint graph contains 2*N Node; that is, each variable h corresponds to two nodes h and *h; for a simple constraint statement p=q, the corresponding edge in the offline constraint graph is q->p; for a loading constraint statement p=*q , the corresponding edge in the offline constrai...

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 present invention discloses a pointer analysis method based on an offline constraint graph. The method comprises two phases: an offline analysis phase and an online analysis phase. In the offline analysis phase, ADD firstly constructs an offline constraint graph, next defines and calculates an ancestor set and a descendant set for each node in the offline constraint graph, then calculates a domination tree corresponding to the offline constraint graph, and based on domination node information, calculates equivalent top-layer variable pair information of a pointer. In the online analysis phase, the ADD performs online cycle detection by using the ancestor set and the descendant set of the node on the one hand, and reduces spreading overheads of inter-node point information in an analysis process by using the equivalent top-layer variable pair information of the pointer on the other hand. Compared with the conventional LCD based on the contained pointer analysis method, the ADD is capable of improving pointer analysis efficiency without affecting precision of the point information.

Description

technical field [0001] The invention belongs to the field of static program analysis and relates to a pointer analysis method. Background technique [0002] Pointer analysis is a static program analysis technique. Its goal is to statically determine which addresses (variable or function storage locations) a pointer variable can point to, that is, to statically determine all possible values ​​of a pointer variable when the program is running. Pointer analysis takes the program source code (or some kind of intermediate code representation) as input, and outputs the pointer pointing information contained in the program. Since pointers (references) are widely used in C / C++ (Java) programs, many static program analysis techniques need to resolve the indirect references contained in the program according to the pointer pointing information, and the results of pointer analysis directly affect the effectiveness of other static program analysis techniques. As an enabling technique f...

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): G06F9/45
CPCG06F8/434
Inventor 李必信刘飞卢佩西·纳斯热
Owner SOUTHEAST 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