ise-uiuc / FreeFuzz

Free Lunch for Testing: Fuzzing Deep-Learning Libraries from Open Source (ICSE'22)
72 stars 14 forks source link

Documentation unclear #6

Open dmc1778 opened 1 year ago

dmc1778 commented 1 year ago

Hi, In this section https://github.com/ise-uiuc/FreeFuzz/tree/main/src/instrumentation/torch and in subsection (3), you mentioned that after configuring our mongo dg in write_tools.py, we should run the code where Pytorch APIs are invoked. I totally understand how this works, my confusion is that where the APIs in "torch.nn.functional.txt", "torch.nn.txt", "torch.txt" come from? How you extracted this APIs?

Also, another confusion is that when I arbitrarily run an API, let say torch.randn(), if torch.randn() is not in the text files ("torch.nn.functional.txt", "torch.nn.txt", "torch.txt"), what happens? I can't get the value space of randn()?

Thanks, Nima.

YangChenyuan commented 1 year ago

Hi @nimashiri, sorry to reply late

where the APIs in "torch.nn.functional.txt", "torch.nn.txt", "torch.txt" come from? How you extracted this APIs?

These APIs come from the documentation of PyTorch, such as https://pytorch.org/docs/stable/nn.functional.html

if torch.randn() is not in the text files

Yes, you cannot get the value space of the API not in the text file

dengyinlin commented 1 year ago

Curently the instrumentation of PyTorch does not cover all public APIs, you can simply add new public APIs like torch.randn() to the text file to trace them.