B2R2


ProgramPoint Type

A program point (ProgramPoint) is a fine-grained location in a program, which can point to a specific IR statement. We represent it as a tuple: (Address of the instruction, Index of the IR stmt for the instruction).

Constructors

Constructor Description

ProgramPoint(addr, pos)

Full Usage: ProgramPoint(addr, pos)

Parameters:
    addr : Addr
    pos : int

Returns: ProgramPoint
addr : Addr
pos : int
Returns: ProgramPoint

Instance members

Instance member Description

this.Address

Full Usage: this.Address

Returns: Addr

Address of the instruction.

Returns: Addr

this.Position

Full Usage: this.Position

Returns: int

Index of the IR statement within the instruction.

Returns: int

Static members

Static member Description

ProgramPoint.GetFake()

Full Usage: ProgramPoint.GetFake()

Returns: ProgramPoint

Get a fake program point to represent a fake vertex, which does not exist in a CFG. Fake vertices are useful for representing external function calls and their nodes in the SCFG.

Returns: ProgramPoint

ProgramPoint.IsFake(p)

Full Usage: ProgramPoint.IsFake(p)

Parameters:
Returns: bool
p : ProgramPoint
Returns: bool

ProgramPoint.Next(p)

Full Usage: ProgramPoint.Next(p)

Parameters:
Returns: ProgramPoint
p : ProgramPoint
Returns: ProgramPoint