-
Notifications
You must be signed in to change notification settings - Fork 362
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
Comments
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 Do you have some experience using JPF? |
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. |
Hi @venkat1701 , |
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:
|
Hi,
This type of error is likely because the wrong version of Java is
enabled by default.
We use OpenJDK 11 as the default and also support Java 8 on branch `java-8`.
What is the output that you get when running `java -version`?
…On Mon, Dec 16, 2024 at 1:15 PM Krish Jaiswal ***@***.***> wrote:
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:
Cloned the repo
Used build.gradle to build the project
Faced issues in the package classes/jdk.internal.misc with errors probably related to module system.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
--
Regards,
Cyrille Artho
|
Hi, on running that, it gives me this: I did setup the project successfully now, and tried running the files in For instance, running the
|
How are you running this example? It looks like you are running it as
a Gradle task. The intent is to run JPF directly, e.g., `bin/jpf
src/examples/DiningPhil.jpf`.
…On Tue, Dec 17, 2024 at 9:20 AM Krish Jaiswal ***@***.***> wrote:
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()'.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
--
Regards,
Cyrille Artho
|
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? |
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". |
Alright, I'll update you soon with a google document of what examples I can work on for initial release. |
Hi,
Great, please let me know when you have an example ready.
The integration will be in the documentation. We can integrate
jpf-core in the reverse way; if a tutorial repo has jpf-core as a
dependent repo, then the "JPF installation" step can be handled
automatically.
So jpf-core will not contain the tutorial, but the tutorial will
contain jpf-core (as a sub-repo). This way, someone using the tutorial
will automatically get the latest version of jpf-core.
…On Fri, Dec 20, 2024 at 1:59 PM Krish Jaiswal ***@***.***> wrote:
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?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
--
Regards,
Cyrille Artho
|
Hi @cyrille-artho , thanks for the time, I've compiled a list of 2 examples so far. Here's the link to the document |
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. |
Hi, |
Warm wishes of the New Year! |
Happy new year to you, too!
I think the best way is to start with the two examples you have, so we can
see what is the best way to integrate and document them. After that, we can
consider adding more examples.
We also want to think about how many examples we want in a tutorial. Two or
three examples may be better than ten. If you have more examples, you might
add them to sv-comp (java) instead. (The examples you have could also be a
welcome addition there.)
…On Wed, Jan 8, 2025 at 1:34 PM Krish Jaiswal ***@***.***> wrote:
Warm wishes of the New Year!
No, I havent deployed the examples in any repository right now. And yes we
can surely proceed that way. Initializing it in a way that can make
jpf-core as a dependency of the repository.
I'll add more about the examples and the purpose of the implementations
with some diagrams if required too.
—
Reply to this email directly, view it on GitHub
<#504 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABXV4RZGEMINL6OYQUKIYET2JULOVAVCNFSM6AAAAABRGH7FNWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNZXGU3DQMJUGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Regards,
Cyrille Artho
|
Surely, I'll go ahead with making those examples more documented and better. We can begin with different modules for each example to cover the tutorial. It sure will take a little time but will make sure its better understanding the use of jpf. Since having ten examples or more can't be a solution, I will add some more features into it so as to cover a vast range of concurrency errors. |
I think the intended goal is important here. A small tutorial would serve
so people learn (1) how to set up JPF, (2) how to use it effectively. Part
1 clearly requires only a few examples showing key configuration options.
Part 2 requires more material.
There can be more far-reaching goals, such as teaching most of the
important concurrency mechanisms/pitfalls that exist, using JPF as an
analysis tool. At the far end, this could be an entire textbook/university
course.
I myself have a course module on key features of JPF, which is about 25 %
of a full course. Some of the examples there could also become part of a
collection (outside the platform that we use at KTH for the course), but
that would exceed the scope of a typical tutorial.
I suggest starting small, with the first and perhaps the second goal in
mind for now.
…On Wed, Jan 8, 2025 at 6:44 PM Krish Jaiswal ***@***.***> wrote:
Surely, I'll go ahead with making those examples more documented and
better. We can begin with different modules for each example to cover the
tutorial. It sure will take a little time but will make sure its better
understanding the use of jpf. Since having ten examples or more can't be a
solution, I will add some more features into it so as to cover a vast range
of concurrency errors.
—
Reply to this email directly, view it on GitHub
<#504 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABXV4R6DKJQS4OG4TMAGOPD2JVPZPAVCNFSM6AAAAABRGH7FNWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNZYGI3DAMRUGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Regards,
Cyrille Artho
|
Alright, let's go with this ahead. I'll initialize a repository and also add detailed explanations for the two examples. |
Hey, just to mention, I'm working on it. I might be late to finish the initialization due to my semester exams, but will work on this full time to cover up and I'm sorry for the delay |
Thank you, please take your time. |
https://java-discord.notion.site/Examples-for-JPF-Repo-190cc94ba8f280548ab3f3c037c1f117 Hi @cyrille-artho, lmk what you think about these updated examples. Once confirmed, It'll take me 2 days to setup and complete these 2 examples, whilst covering the documentation on setting up and using the jpf-core. |
Thanks, this looks very good. Some suggestions:
|
Sure, I'll incorporate these changes in the repository |
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
The text was updated successfully, but these errors were encountered: