-
Notifications
You must be signed in to change notification settings - Fork 6
Description
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!