Giter Club home page Giter Club logo

Comments (12)

yuleisui avatar yuleisui commented on June 30, 2024

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.

yikuoyansui avatar yikuoyansui commented on June 30, 2024

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.

yuleisui avatar yuleisui commented on June 30, 2024

The addresses would not tell the problem. Can you send me your bc?

from svf-example.

yikuoyansui avatar yikuoyansui commented on June 30, 2024

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.

yuleisui avatar yuleisui commented on June 30, 2024

You can also use node->toString() to get the results for your purpose. No need to use getLHSTopLevPtr.

from svf-example.

yikuoyansui avatar yikuoyansui commented on June 30, 2024

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.

yuleisui avatar yuleisui commented on June 30, 2024

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.

yikuoyansui avatar yikuoyansui commented on June 30, 2024

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.

yuleisui avatar yuleisui commented on June 30, 2024

You will need to update svf-lib npm i --silent svf-lib --prefix ${HOME}

from svf-example.

yikuoyansui avatar yikuoyansui commented on June 30, 2024

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.

yuleisui avatar yuleisui commented on June 30, 2024

@JasonZhongZexin could you take a look at the npm configuration?

from svf-example.

JasonZhongZexin avatar JasonZhongZexin commented on June 30, 2024

@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.

  1. What‘s the version of your OS?
  2. What’s the version of the npm and nodejs that you are using?
  3. What’s the version of the installed svf-lib?
  4. What’s the output that display on your terminal after running the svf-lib update command?

from svf-example.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.