Current ByteCodeParser for Soot does not support Java 8

Issue #213 new
Eric Bodden created an issue

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)

  1. Jesper Öqvist

    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.

  2. Jesper Öqvist

    @ebodden where is your JastAddExtensions/SootJastAddJ? I could not find it in the soot git repository.

  3. Jesper Öqvist

    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.

  4. Jesper Öqvist

    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.

  5. Eric Bodden 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.

  6. Jesper Öqvist

    @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

  7. Log in to comment