Comments (4)
Optimizing this part is a work in progress. It basically implements a transitive closure of the assignment graph. However, this can be implemented in a lazy manner -- i.e. whenever we look for the functions that can be pointed to by a certain identifier, we can update the assignment graph with new edges towards the results.
I have also added the --max-iterations
CLI argument which limits the fix-point iteration to a certain number of iterations. The quickest way to improve performance with a very small sacrifice in precision & recall would be to use this argument with a numerical value (e.g. --max-iterations 1
.
from pycg.
Thanks a lot! Your reply is quick and quite useful!
from pycg.
Optimizing this part is a work in progress. It basically implements a transitive closure of the assignment graph. However, this can be implemented in a lazy manner -- i.e. whenever we look for the functions that can be pointed to by a certain identifier, we can update the assignment graph with new edges towards the results.
I have also added the
--max-iterations
CLI argument which limits the fix-point iteration to a certain number of iterations. The quickest way to improve performance with a very small sacrifice in precision & recall would be to use this argument with a numerical value (e.g.--max-iterations 1
.
Hi,
When I set --max-iterations as 1, the execution time is much less and I appreciate it very much!
However, consider the following code:
label_binarizer = LabelBinarizer()
image_labels = label_binarizer.fit_transform(label_list)
PyCG can only extract sklearn.preprocessing.LabelBinarizer
while LabelBinarizer.fit_transform
can not be extracted.
I'm curious about the reason: Does the small value of --max-iterations contribute to it? or, PyCG doesn't have the ability to extract the call chain?
@vitsalis
from pycg.
Closing due to archival of repository.
from pycg.
Related Issues (20)
- Broken link HOT 1
- What tool have you used to generate the figures from JSON/FASTEN? HOT 1
- Can it be used to generate static backward slice? HOT 1
- what is the meaning of NEXT_MEHOD and ITER_METHOD? HOT 1
- list definition creation causes an infinite loop in the post processor HOT 1
- make test occur a error HOT 1
- Can PyCG optimize to flow sensitive? HOT 5
- PyCG fails when parsing files whose names are used in init file declarations HOT 1
- how to analyse cg of __init__.py HOT 2
- Possible to have option to exclude builtin functions? HOT 1
- Not being able to run PyCG from source due to circular import(?) HOT 2
- analysis does not follow explicit super()-calls HOT 2
- Add class def in addition to MRO HOT 1
- Relative/partial module path of class due to relative import HOT 8
- Does pycg work in colab? HOT 1
- PyCG can't support the analysis of function pointers in a call graph. HOT 1
- Ignore built-in functions, numpy, torch... HOT 2
- Detected non-deterministic results under various configurations HOT 3
- Handling posonlyargs HOT 2
- Install of `0.0.7` failing in GitHub actions HOT 4
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 pycg.