Current ByteCodeParser for Soot does not support Java 8
Hi guys. Would you mind taking a quick look at this bug? https://github.com/Sable/soot/issues/394
This is currently causing us trouble... Two questions: (1) Why does JastAdd need a custom ByteCodeParser in the first place? Can't we use Soot's Jimple frontend? (2) If we really do need it, is there an updated Java 8 version by any chance?
Comments (11)
-
-
@ebodden where is your
JastAddExtensions/SootJastAddJ
? I could not find it in the soot git repository. -
reporter Hi. This is being taken from:
http://svn.cs.lth.se/svn/jastadd-oxford/projects/trunk/JastAddExtensions/SootJastAddJ
Should we be taking it from somewhere else?
-
Thanks, I was just looking for the JastAdd code (.jrag/.jadd files) used to generate your JastAddJ code and couldn't find it in the git repository for Soot. I'm interested in seeing how much work needs to be done to update to the latest JastAddJ.
-
reporter Thanks, your assessment would be very welcome!
-
How do I test soot? Do you have a test suite, and how would I run it?
-
I'm downloading clara-with-deps now, I guess this has all I need? We had clara-with-deps building on our Jenkins server, but stopped running it because soot/JastAddJ had diverged too far.
-
I was able to run the tests using the https://github.com/Sable/clara repository. I get some test failures:
[exec] Current status: 1002 passed, 134 failed and 108 skipped, memory usage: 44573672.
Is this expected?
-
reporter Hi Jesper.
Yes I can confirm that this is also what we are currently seeing on our end. We have not been paying much attention to clara and abc anymore which is probably the reason for the high number of failing test cases. But on our build server I see the same number, unfortunately.
-
reporter Hi Jesper. Were you able to make any progress on this?
-
@ebodden Hi Eric, I've been very busy with other work. I still want to take a look at this but I can't right now. After a first look at it I think you should be able to migrate to the latest version of ExtendJ (we recently renamed it). I would recommend generating the Java sources from ExtendJ in your build. ExtendJ now lives here: https://bitbucket.org/extendj/extendj
- Log in to comment
Hi Eric! The
ByteccodeParser
class is from JastAddJ. I'm not sure how you are using JastAddJ but that class is for parsing classfiles (from boot classpath or regular Jar libraries). You might not need BytecodeParser if you don't need to load class files. The Java 8 extension has an updated version of BytecodeParser which should work with Java 8 class files.