secure-software-engineering / phasar

A LLVM-based static analysis framework.
Other
930 stars 140 forks source link

IDEExtendedTaintAnalysis for LLVMBasedBackwardsICFG #486

Closed devanshrajgarhia closed 1 year ago

devanshrajgarhia commented 2 years ago

In order to do a backward taint analysis, we could use this.

What I had thought is : 1) I need to add the missing functions in the LLVMBasedBackwardICFG which are being used in the IDEExtendedTaintAnalysis. ie

void LLVMBasedBackwardsICFG::forEachCalleeOfCallAt( const llvm::Instruction *I, llvm::function_ref<void(const llvm::Function *)> Callback) const{ ForwardICFG.forEachCalleeOfCallAt(I,Callback); }

2) Make a new cpp file (which I can basically copy from IDEExtendedTaintAnalysis) and just change the LLVMBasedICFG to LLVMBasedBackwardsICFG declarations.

But I don't think this works as I have tried this. Can you point out what the problem might be ?

MMory commented 1 year ago

Hi @devanshrajgarhia, does the issue still exist for you? I believe the backward ICFG in public phasar has some issues yet has been used rarely so far. If you're interested in backward analysis I could look into making the fixes to the backward ICFG public.

MMory commented 1 year ago

Closing due to inactivity. @devanshrajgarhia please don't hesitate to reach out again when you are interested in this matter again.