Comments (12)
You need to provide more information about the SVFGNode and its PAGNode information so that I could understand which SVFGNode you are referring to.
from svf-example.
Thanks for your quick reply. The program is too large. It is hard to give you specific information about the SVFGNode and its PAGNode without context. The following three statements show how I fetch the llvm value and feed it into traverseOnVFG.
PAGNode* pagNode = pag->getPAGNode(5394);
const Value* v = pagNode->getValue();
traverseOnVFG(svfg, v);
I use the node ID (5394) which can be obtained from pag.dot to get the corresponding PAGNode. The following snippet is information about this node.
Node0x55dd51a85c00 [shape=record,shape=circle,label="{[base64_decode] 5394:}"];
Node0x55dd51a85c00 -> Node0x55dd51a7f6c0[color=blue];
I use several types of nodes as the input and all of them show the same error.
If the above description is hard to follow, could you give me some high-level hints about how to properly use traverseOnVFG?
Thanks
from svf-example.
The addresses would not tell the problem. Can you send me your bc?
from svf-example.
Btw, I am wondering why we need to use getLHSTopLevPtr considering we have already traversed VFG and get the visited list before.
from svf-example.
You can also use node->toString()
to get the results for your purpose. No need to use getLHSTopLevPtr
.
from svf-example.
I am confused that what the purpose of getLHSTopLevPtr is. Is it to get the corresponding PAGNode for VFGNode and PAGNode are the exact LLVM values (pointers), right?
from svf-example.
In brief, yes. See the fixed patch for SVF here: SVF-tools/SVF@75e3b7c
and the fix for SVF-example here:
1b5edfb
from svf-example.
Thanks for your updates. I updated all the patches and fix, while the same error still happens. Has the error been fixed at your side? I am using the same node 5394 and the same bc.
svf-ex: /home/travis/build/SVF-tools/SVF/lib/Graphs/VFG.cpp:874: const SVF::PAGNode* SVF::VFG::getLHSTopLevPtr(const SVF::VFGNode*) const: Assertion `false && "unexpected node kind!"' failed.
Thanks
from svf-example.
You will need to update svf-lib npm i --silent svf-lib --prefix ${HOME}
from svf-example.
Sorry to disturb you again. I did execute the above command. I checked the modification time of libSvf.a under Release-build folder and the time is no up-to-date. I am not sure whether the problem is caused by that. Thanks.
from svf-example.
@JasonZhongZexin could you take a look at the npm configuration?
from svf-example.
@yikuoyansui I have confirmed the new update has been published to NPM. The up-to-date version of svf-lib should be v1.0.243. Could you please provide the below information, so that I could investigate the issue.
- What‘s the version of your OS?
- What’s the version of the npm and nodejs that you are using?
- What’s the version of the installed svf-lib?
- What’s the output that display on your terminal after running the svf-lib update command?
from svf-example.
Related Issues (6)
- Error happens when compiling SVF-example HOT 2
- make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libtinfo.so', needed by 'bin/svf-ex'. Stop. HOT 1
- confusion about PATH_SUFFIXES in CMakeLists.txt
- not an external IR file: /home/runner/work/SVF/SVF/Release-build/svf-llvm/extapi.bc HOT 2
- [Build failed] Building for macOS-arm64 but attempting to link with file built for macOS-x86_64 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from svf-example.