Rework the call graph algorithm to annote call edges with the corresponding invoke statement#936
Rework the call graph algorithm to annote call edges with the corresponding invoke statement#936JonasKlauke merged 44 commits intodevelopfrom
Conversation
…e target of a specific invokable statement
|
entry methods wont contain anymore an edge to the clinit method. |
…ement to support newarray and newmultiarray
…newarray or newmultiarray expression
…e call graph. Added a test for multiple calling sides of same methods
swissiety
left a comment
There was a problem hiding this comment.
I'm not sure about introducing all these TestUtil classes - Currently it seems/feels like it is creating a lot of additional clutter which does make understanding tests more complicated.. maybe we can reiterate that and have a look how other projects solve it, especially as of the current implementation we can't share those classes across the submodules and would have code duplicates.
sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/CGEdgeUtil.java
Outdated
Show resolved
Hide resolved
| @Override | ||
| public FlowFunction<Value> getCallToReturnFlowFunction(Stmt callSite, Stmt returnSite) { | ||
| return getCallToReturnFlow(callSite, returnSite); | ||
| return getCallToReturnFlow((InvokableStmt) callSite, returnSite); |
There was a problem hiding this comment.
can we adapt heros to have different generic types for callSite Stmts and the other Stmts?
There was a problem hiding this comment.
I did not touch the analysis stuff. I made it only work for the current state. I will add an issue for the complete adaption. Or should this PR also contain the adaption to analysis?
sootup.callgraph/src/main/java/sootup/callgraph/AbstractCallGraphAlgorithm.java
Show resolved
Hide resolved
sootup.callgraph/src/main/java/sootup/callgraph/AbstractCallGraphAlgorithm.java
Outdated
Show resolved
Hide resolved
sootup.callgraph/src/main/java/sootup/callgraph/AbstractCallGraphAlgorithm.java
Outdated
Show resolved
Hide resolved
sootup.core/src/main/java/sootup/core/jimple/common/stmt/InvokableStmt.java
Outdated
Show resolved
Hide resolved
# Conflicts: # sootup.callgraph/src/main/java/sootup/callgraph/AbstractCallGraphAlgorithm.java # sootup.callgraph/src/main/java/sootup/callgraph/RapidTypeAnalysisAlgorithm.java # sootup.tests/src/test/java/sootup/tests/CallGraphTest.java
# Conflicts: # sootup.callgraph/src/main/java/sootup/callgraph/RapidTypeAnalysisAlgorithm.java # sootup.core/src/main/java/sootup/core/jimple/common/expr/JNewMultiArrayExpr.java # sootup.tests/pom.xml
sootup.core/src/main/java/sootup/core/jimple/common/stmt/InvokableStmt.java
Show resolved
Hide resolved
# Conflicts: # sootup.callgraph/src/main/java/sootup/callgraph/CallGraph.java
Uh oh!
There was an error while loading. Please reload this page.