dg icon indicating copy to clipboard operation
dg copied to clipboard

How to speed up the analysis of dg?

Open h1994st opened this issue 5 years ago • 3 comments

Hi,

I am using dg to slice a program. The size of the input bitcode is 4 MB. dg has not finished slicing the program after 17 hours.

According to the log, dg is still on the stage of PTA (see below). Indeed, my program contains lots of function pointers.

...
[9660244770][pta] Computing information about loops for the whole graph
[9660244966][pta] Computing information about loops
[9660245097][pta] Computing information about loops
[9660245149][pta] Computing information about loops
[9660245197][pta] Computing information about loops
[9660245245][pta] Computing information about loops

I am not sure whether I made any mistakes. Or are there any extensions/forked projects to improve the efficiency of dg? Or is it possible to implement a multi-thread version of PTA?

Thanks!

h1994st avatar Apr 07 '20 19:04 h1994st

I am not sure whether I made any mistakes.

You did not, sometimes the analyses just take too much time.

Or are there any extensions/forked projects to improve the efficiency of dg?

As far as I know, there is one fork that integrates SVF project which should have more scalable (but less precise) pointer analyses. Actually, in the sdg-1.0.0 branch we have SVF integrated too, but the integration is not finished yet and is probably buggy. But you can try that and file issues so that we can fix them.

Or is it possible to implement a multi-thread version of PTA?

It is, feel free to contribute ;)

mchalupa avatar Apr 08 '20 08:04 mchalupa

Hi, I have improved the data structures in PTA a bit, so you may want to try pulling new dg and trying again ;)

mchalupa avatar Nov 23 '20 08:11 mchalupa

Thanks! I will try it.

h1994st avatar Nov 24 '20 17:11 h1994st