-
Notifications
You must be signed in to change notification settings - Fork 438
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash During Pointer Analysis on Boringssl with WPA #1549
Comments
What command line options did you use to run wpa? |
@liushengahn The message indicates missing of the pointer analysis type, e.g., ``-ander'' (Andersen's pointer analysis). |
I apologize for the confusion in my previous message. I actually encountered an error while implementing my own analysis based on the example provided here. When I ran my program, I received the following error:
Here is the code where I construct some graphs: // Parse command-line arguments to get module name vector
std::vector<std::string> moduleNameVec =
OptionBase::parseOptions(argc, argv, "Whole Program Points-to Analysis",
"[options] <input-bitcode...>");
// If the write option is enabled, preprocess the LLVM modules
if (Options::WriteAnder() == "ir_annotator") {
LLVMModuleSet::preProcessBCs(moduleNameVec);
}
// Build the SVF module
auto svf_start = std::chrono::high_resolution_clock::now();
SVFModule *svfModule = LLVMModuleSet::buildSVFModule(moduleNameVec);
// Build the program analysis graph (SVFIR)
SVFIRBuilder builder(svfModule);
SVFIR *pag = builder.build();
// Get the indirect control flow graph (ICFG)
icfg = pag->getICFG();
// Build the control dependence graph (CDG)
CDGBuilder CDGbuilder;
CDGbuilder.build();
cdgBBdep = CDGbuilder.get_svfdependentOnMap();
cdgBBctl = CDGbuilder.get_svfcontrolMap();
// Build the call graph (CallGraph)
SVF::Andersen *ander =
SVF::AndersenWaveDiff::createAndersenWaveDiff(SVF::PAG::getPAG());
cg = ander->getPTACallGraph();
// Build the sparse value flow graph (SVFG)
SVFGBuilder svfBuilder(true);
svfg = svfBuilder.buildFullSVFG(ander); The program runs successfully on some projects, but it crashes on the most recent one. I am unsure what might be causing this issue, and I would appreciate any guidance or insights into what could be going wrong. |
|
I'm using an older version of SVF, I patched it with a later update and added a build to control the dependency graph, which I guess should be my issue. |
I wanted to follow up with an update on my previous query regarding the crash I was experiencing with SVF. After updating to the latest version of SVF, I am still encountering issues. The error message I am receiving is as follows:
I would greatly appreciate any guidance on how to resolve this issue or any suggestions for further troubleshooting steps. |
|
Looks to be a null pointer error. Did you implement your algorithm or it is caused by SVF? What commandline options you used? |
It seems that |
boringssl-2016-02-12.zip |
I have not made any modifications to SVF; I simply utilized SVF to construct the CG, CFG, and CDG, as mentioned in the code I provided above. I traverse these graphs in my tool, so my tool does not involve any parameters from SVF. |
guetzli.zip |
@liushengahn This should be fixed. |
|
Hello,
I am currently using the WPA tool to perform pointer analysis on the Boringssl(https://github.com/google/fuzzer-test-suite/blob/master/boringssl-2016-02-12/build.sh) from the Google Fuzzer Test Suite(https://github.com/google/fuzzer-test-suite/tree/master). I have successfully built the executable using
wllvm
andwllvm++
, resulting in theboringssl-2016-02-12.bc
bitcode file.However, when I attempt to run pointer analysis using SVF, the tool crashes. I am not sure what is causing this issue and would greatly appreciate your assistance in resolving it.
boringssl-2016-02-12.zip
Here is the error message I received:
This is not the first time I've encountered crashes during testing with some libraries. Could you please advise on potential reasons for these issues and how they can be prevented or resolved?
I would be grateful for any guidance or insights into this issue. Thank you for your time and assistance.
The text was updated successfully, but these errors were encountered: