Questions tagged [soot]

Soot is an open source Java optimization framework.

Soot is an open source Java optimization framework that provides different intermediate representations for Java bytecode. Besides optimization, Soot can be used for static analyses and bytecode manipulation.

GitHub home page @ github.com
Legacy home page @ sable.mcgill.ca

131 questions
0
votes
0 answers

Can soot perform program analysis for incomplete code

What I understand is Soot performs program analysis on the ByteCode. However, I have incomplete or slightly buggy-code like the following where the return type for the method is not correct: class D { public void m1() { int total = 0; …
Exploring
  • 2,493
  • 11
  • 56
  • 97
0
votes
0 answers

Soot not finding class without a main for call graph

Good day, I am new to Soot and have been trying to get Soot working on analyzing the call graph of external libraries/apps. Specifically, I want to get the call graph of a class, ‘DefaultServlet’, within a Tomcat jar file, ‘catalina.jar’. First, I…
Fogo T-O
  • 1
  • 1
0
votes
1 answer

Retrieving annotation information in soot

I would like to search all occurrences of a certain annotation to select analysis regions. Take nullck analysis for example; I would want to find all @NotNull annotations and start running the nullck analysis from methods containing a variable…
SOFe
  • 7,867
  • 4
  • 33
  • 61
0
votes
1 answer

How to analyze .class files using soot?

I'm trying to build a call-graph(CG) for spotbugs-4.0.2 with soot. The code is shown as follows. public static void main(String[] args) { String analyzed_classes_dir = "C:\\Users\\lyu\\lll\\src\\test\\java\\com\\demo\\dir3\\spotbugs";…
Liu Yuan
  • 16
  • 3
0
votes
1 answer

Is there a dependency that is missing for this soot dependent app?

I try to run soot dependent app, using lots of jar files as dependencies in the compilation and every time a new error occurs. The error I got at last is this: [main] INFO soot.jimple.infoflow.android.SetupApplication - ARSC file parsing took…
Harel
  • 11
0
votes
1 answer

Can I use Soot to find potential execution paths and resource usages given a starting class or method?

Can I use the Soot framework to perform, at the Ubuntu command line, analyses on Java source code such as Find all socket usages or disk writes that may result from executing this method or Find all disk writes potentially generated by the…
ragnacode
  • 332
  • 3
  • 13
0
votes
1 answer

How do I exclude java standard libraries from call graphs generated by Soot?

I currently working on an automatic code documentation tool. For it, I am using Soot for constructing the call graph. However, Soot seems to be including the standard java libraries in this call graph. This is of course, not desirable since I am…
0
votes
0 answers

using class and method in Soot for java code

I am new to soot. I tried this code but it has error. public class Main { private static final Body B = null; public static void main(String[] args) { // TODO Auto-generated method stub final String apppath =…
shabnam
  • 1
  • 1
0
votes
2 answers

Soot - Unable to get soot cfg for a java method which has lambda expression

Im trying to get control flow graph of methods of my code . It working fine for all methods until I ask it to analyse a method which has lambda expression like the below one. public void test() { List test = new…
0
votes
1 answer

How to exclude internal package (not maven dependency) from dependcies in Gradle

My project is a spring boot project and it has a dependency which is dexkiller, however the dexkiller rely on soot-infoflow-cmd-jar-with-dependencies which internally uses slf4j while my spring boot project used slf4j as well. Thus making the…
stephCurry
  • 91
  • 6
0
votes
1 answer

Why SootMethod is not serializable?

I am doing programming analysis for Java​ programs with soot. I customize a class which includes a field whose type is SootMethod. I want to save a large number of these objects and use them in another program. So, I find serialization meet my…
Ya Xiao
  • 861
  • 8
  • 16
0
votes
2 answers

Soot: soot.jimple.JimpleBody cannot be cast to soot.dava.DavaBody

I ran the following code to get the exception handler in .class file: public void getException(SootMethod method){ DavaBody db = (DavaBody) method.retrieveActiveBody(); IterableSet excepFacts = db.get_ExceptionFacts(); …
Anh73
  • 85
  • 1
  • 1
  • 9
0
votes
1 answer

Does soot can convert jimple file to java file?

If can, how does soot convert? Thanks!
Anh73
  • 85
  • 1
  • 1
  • 9
0
votes
1 answer

Execute SOOT API correctly for 3 address code

I'm having trouble running the SOOT API. I'm using java -cp soot-2.5.0.jar soot.Main -f jimple test I run into the following error: Exception in thread "main" java.lang.RuntimeException: Could not load classfile: java.io.ObjectInputStream at at…
0
votes
1 answer

How to find dependency path in Android From Source to Sink?

I wanted to find Full Dependency path in android from source to sink, for example there is a function in Class Test at Line no 10, i wanted to find the lines affected by or who is calling line no 10.
1 2 3
8 9