Skip to content

Need to investigate the impact of Java 11 on previously supported model classes used in Java 8 #114

@sohah

Description

@sohah

This issue is about changes introduced in the gradle-build-java-11 branch

Do we know why files were removed?

  • jpf-symbc/src/classes/java/awt/image/BufferedImage.java
  • jpf-symbc/src/classes/java/awt/image/Kernel.java
  • jpf-symbc/src/classes/java/lang/Math.java
  • jpf-symbc/src/classes/java/util/Scanner.java

I am not sure whether porting to java11 is a good reason to delete them.

Originally posted by @yannicnoller in #112 (comment)

it looks like java 11 has a different structure, and restriction that prevents us from replacing for example Math.java with our own version, at least in the same way we used to do it. In java 11, Math.java is in java.base, with more restrictions on overriding its behavior. Right now, the above classes are removed from the Java 11 branch, but we need to investegate the impact of that. It might mean that we will need to override its behavior and resort to using a flage like --patch-module option. Another possibility is to just maintain native peer classes, and intercept bytecodes that we want to symbolically execute, but are not native. This applies to other classes you've mentioned here. More investigations are needed here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions