Including Primary Classes and Methods(with Bodies) is worth? #123
-
Currently, Plume doesn't generate method bodies, classes, method stubs of basic classes such as String, Integer, StringConcatFactory, etc. Thus semantic of code got broken by the absence. In another works, they makes some mock model for linking them. Could we figure it out how to handle them? This could be related with #96 |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Regarding the current state of how the data flow analysis works, all interprocedural calls are treated as tainted and the analysis overapproximates. Due to this, there isn't much reason (for now) to really include external bodies. The advantage is that whenever there is a code updated, one doesn't have to re-run the analysis on all the methods - only the new ones - since the analysis itself is intraprocedural and independent of other methods. But you do raise a valid point and that this limits any future analysis too. In Soot any method where Soot cannot retrieve a body is called a phantom ref - so we can something around method stub and method body pass where we find out which external methods do have bodies and can generate them since Soot is usually able to generate bodies for JDK classes like Object, String, etc. In the extractor there is a point where |
Beta Was this translation helpful? Give feedback.
Regarding the current state of how the data flow analysis works, all interprocedural calls are treated as tainted and the analysis overapproximates. Due to this, there isn't much reason (for now) to really include external bodies. The advantage is that whenever there is a code updated, one doesn't have to re-run the analysis on all the methods - only the new ones - since the analysis itself is intraprocedural and independent of other methods.
But you do raise a valid point and that this limits any future analysis too. In Soot any method where Soot cannot retrieve a body is called a phantom ref - so we can something around method stub and method body pass where we find out which external m…