Skip to content

getPts method missing from pysvf.AndersenWaveDiff and pysvf.AndersenWaveDiff_WPA #40

@joannacss

Description

@joannacss

Dear PySVF Development Team,

First of fall, thank you so much for creating Python bindings for the SVF project! That has been super helpful!

I have been trying to perform a points-to analysis using pysvf.AndersenWaveDiff_WPA. I have, however, faced issues with respect to getting the points to sets of a variable. Specifically, the method getPts seems to be missing from pysvf.AndersenWaveDiff_WPA class.
My code is as follows:

bitcode_file = "example.ll"
pysvf.buildSVFModule(bitcode_file)
svfir = pysvf.getPAG()
pta = pysvf.AndersenWaveDiff(svfir)
pta.analyze()

When I try to later invoke pta.getPts(var_id) I get an error indicating AttributeError: 'pysvf.pysvf.AndersenWaveDiff' object has no attribute 'getPts'. When I look at the available attributes/methods of pta object (dir(pta)), indeed that method is missing and only analyze is available, as shown below:

['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_pybind11_conduit_v1_', 'analyze']

I was expecting this class to have the getPts(...) method in it since it is meant to be a subclass of AndersenBase.
Am I missing something in here or is there another way to obtain the points-to sets for a variable? I've also tried using pysvf.AndersenWaveDiff and it also didn't work for the same reason:

pta = pysvf.AndersenWaveDiff(analysis.svf_ir)
pta.analyze()

Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions