Skip to content

Conversation

@sohah
Copy link

@sohah sohah commented Mar 21, 2025

@Ao-senXiong , thank you for your contributions.

@yannicnoller , This pull request includes changes from the pull request #96, while updating to only reference java 11, while removing everything else, including the reference to the docker setup which we do not have for java11.
With these changes we can accept this pull request.

@sohah sohah changed the base branch from master to gradle-build-java-11 March 21, 2025 12:44
@yannicnoller
Copy link
Member

Thanks @sohah! 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.

@sohah
Copy link
Author

sohah commented Mar 26, 2025

Hi @yannicnoller , there isn't a very satisifying answser here, I think this needs to be investigated further, hopefully during the runtime exception project, if we get a good proposal for it.
But in general, 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. I am seeing that we can do that if we are using --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.

At this point, I think we have two options about this pull request,

  1. either keep that pull request open until we are able to answer these questions and hopefully update the pull request with the necessary changes
  2. or accept that pull request and allow others to test what we have so far, perhaps exposing issues that gives us better understanding and clarity. I am okay with either approaches, but perhaps if we choose the second option, then we should have an issue that allows us to track the status of these files going forward.

@yannicnoller
Copy link
Member

@sohah thanks for the update! If we merge, we should flag it as somehow experimental, right now it might look like the official java-11 branch.

@sohah
Copy link
Author

sohah commented Mar 26, 2025

@yannicnoller , I have added a disclamier about this in the readme, and also added a new issue to allows us to track the status of these model classes going forward.

@yannicnoller yannicnoller merged commit 052390b into SymbolicPathFinder:gradle-build-java-11 Mar 27, 2025
1 check passed
@saifk16
Copy link

saifk16 commented Mar 27, 2025

Thanks @sohah! 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.

Reference => PROJECT JIGSAW

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants