Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introducing a website that will enhance discoverability. #504

Open
Neelanchal17 opened this issue Nov 5, 2024 · 13 comments
Open

Introducing a website that will enhance discoverability. #504

Neelanchal17 opened this issue Nov 5, 2024 · 13 comments

Comments

@Neelanchal17
Copy link

As a web developer, I’d love to contribute to JavaPathfinder by creating a website to enhance its discoverability. Given my background, I believe a dedicated site could significantly improve the user experience with documentations. With permission from the maintainers, I can begin work on this project.
Thank You

@cyrille-artho
Copy link
Member

Thank you for offering to write documentation. Perhaps the best type of documentation could be a tutorial? That could be a separate repository (as having a separate repository also takes care of demonstrating how to run an application that is not part of jpf-core with JPF). The repository could start with a simple example, similar but slightly more advanced than examples in src/examples in jpf-core, and build these independently against a known location of an existing installation of JPF.

Do you have some experience using JPF?

@venkat1701
Copy link

Hi @cyrille-artho, I'm a java content writer at Baeldung. I'd love to take this issue and contribute to add more advanced examples of using JPF. I do have previous experience of using JPF a little, and I believe that I can generate better scenarios in examples where it must be used. Do let me know if you want me to contribute to this.
Linkedin
Thanks!

@cyrille-artho
Copy link
Member

Hi @venkat1701 ,
Thank you for your offer. Why not try a small example first? We can then see how to update JPF and its wiki based on that.
For a larger example, it could be useful to have a separate repository. This way, people can also learn how to set up JPF for their own project.

@venkat1701
Copy link

Yes. But I'll need a little help setting up jpf-core as the given setup instructions don't work for me.

Here's an overview of the way I tried installing it:

  1. Cloned the repo
  2. Used build.gradle to build the project
  3. Faced issues in the package classes/jdk.internal.misc with errors probably related to module system.

@cyrille-artho
Copy link
Member

cyrille-artho commented Dec 16, 2024 via email

@venkat1701
Copy link

Hi, on running that, it gives me this: openjdk version "11.0.8-internal" 2020-07-14 OpenJDK Runtime Environment (build 11.0.8-internal+0-adhoc..jdk11u) OpenJDK 64-Bit Server VM (build 11.0.8-internal+0-adhoc..jdk11u, mixed mode)

I did setup the project successfully now, and tried running the files in src/examples. But they don't seem to produce the expected output.

For instance, running the DiningPhil.java produces this output:

13:46:00: Executing ':DiningPhil.main()'...

> Task :compileAnnotationsJava UP-TO-DATE
> Task :processAnnotationsResources NO-SOURCE
> Task :annotationsClasses UP-TO-DATE
> Task :copyLibs UP-TO-DATE
> Task :compileJava UP-TO-DATE
> Task :processResources NO-SOURCE
> Task :classes UP-TO-DATE
> Task :generateBuildInfo
> Task :generateVersion
> Task :copyResources
> Task :compileExamplesJava UP-TO-DATE
> Task :processExamplesResources NO-SOURCE
> Task :examplesClasses UP-TO-DATE
> Task :DiningPhil.main()

BUILD SUCCESSFUL in 480ms
8 actionable tasks: 4 executed, 4 up-to-date
13:46:01: Execution finished ':DiningPhil.main()'.

@cyrille-artho
Copy link
Member

cyrille-artho commented Dec 17, 2024 via email

@venkat1701
Copy link

Hi, thanks for the onboarding help. I've successfully setup the repo now and can start contributing. Let us create another issue and start over there with the simple examples and scenarios if you are alright with it or should we continue in this issue?

@cyrille-artho
Copy link
Member

We can use your new repo's issue tracker for smaller steps, and later on close this issue when we think we have enough examples/documentation for an initial "release".

@venkat1701
Copy link

Alright, I'll update you soon with a google document of what examples I can work on for initial release.
Also, how will we integrate the initial release here on the jpf-core repository?

@cyrille-artho
Copy link
Member

cyrille-artho commented Dec 20, 2024 via email

@venkat1701
Copy link

venkat1701 commented Dec 22, 2024

Hi @cyrille-artho , thanks for the time, I've compiled a list of 2 examples so far. Here's the link to the document
Also, I think it might be better to create a dedicated repository within the JavaPathfinder project for tutorials instead of linking them to the documentation or wiki. This way, users exploring jpf-core can directly access the tutorial repository. Alternatively, I can create a new repository on my end, which JavaPathfinder can fork, similar to jpf-symbc. This will add to future prospects of having contributions to that repository during the GSoC period as well.

@venkat1701
Copy link

Hey @cyrille-artho, just a ping to check if you're okay. Once a green flag, I can start working on the above examples right away.
Thanks!

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

No branches or pull requests

3 participants