noidsirius / SootTutorial

A step-by-step tutorial for Soot (a Java static analysis framework)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot build SootTutorial using Docker

gioenn opened this issue · comments

Hi,

I'm trying to run the tutorial using Docker but I get this error when running ./gradlew build

> Could not GET 'https://soot-build.cs.uni-paderborn.de/nexus/repository/soot-release/de/tud/sse/soot-infoflow-summaries/2.7.1/soot-infoflow-summaries-2.7.1.pom'. > sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed

I tried both by building the Dockerfile and by downloading the latest image version from the DockerHub.
Any idea on how to solve it?

Thanks.

Hi,
I first ran docker run -it noidsirius/soot_tutorial:latest (once all images are downloaded, it shows the prompt for an ubuntu image), then I ran ./gradlew build (it compiles SootTutorial) and finally ran ./gradlew run --args="HelloSoot" which prints the following lines:

Method Signature: <FizzBuzz: void printFizzBuzz(int)>
--------------
Argument(s):
i0 : int
--------------
This: r0
--------------
Units:
(1) r0 := @this: FizzBuzz
(2) i0 := @parameter0: int
(3) $i1 = i0 % 15
(4) if $i1 != 0 goto $i2 = i0 % 5
(5) $r4 = <java.lang.System: java.io.PrintStream out>
(6) virtualinvoke $r4.<java.io.PrintStream: void println(java.lang.String)>("FizzBuzz")
(7) goto [?= return]
(8) $i2 = i0 % 5
(9) if $i2 != 0 goto $i3 = i0 % 3
(10) $r3 = <java.lang.System: java.io.PrintStream out>
(11) virtualinvoke $r3.<java.io.PrintStream: void println(java.lang.String)>("Buzz")
(12) goto [?= return]
(13) $i3 = i0 % 3
(14) if $i3 != 0 goto $r1 = <java.lang.System: java.io.PrintStream out>
(15) $r2 = <java.lang.System: java.io.PrintStream out>
(16) virtualinvoke $r2.<java.io.PrintStream: void println(java.lang.String)>("Fizz")
(17) goto [?= return]
(18) $r1 = <java.lang.System: java.io.PrintStream out>
(19) virtualinvoke $r1.<java.io.PrintStream: void println(int)>(i0)
(20) return
--------------
Branch Statements:
if $i1 != 0 goto $i2 = i0 % 5
if $i2 != 0 goto $i3 = i0 % 3
if $i3 != 0 goto $r1 = <java.lang.System: java.io.PrintStream out>

Could you please try the steps above and see if it works for you or not? If it didn't, could you please write down your operating system and Docker version?