Instruction.backward_df_recursive()

Returns the list of all previous points of the current point in the current data flow graph and outside of that.

backward_df_recursive() → APISet[Point]

The function works similarly to Instruction.backward_df(); the main difference is that in case of Instruction.backward_df() the function will return backward dataflow point for every point in the Instruction, while Instruction.backward_df() returns only those connected with the current Instruction.

Like all other dataflow (DF) functions, it returns a list/set of Points, which can be instructions or "points" in the code, such as arguments, variables, etc.

Query Example

from glider import *


def query():
  # Fetch an instruction
  instructions = Instructions().with_callee_name('verify').exec(1)
  
  for points in instructions[0].backward_df_recursive():
    print(points.source_code())

  # Return the list of previous instructions of the current instruction
  return instructions

Example Output

Last updated