Joss-reviews: [REVIEW]: uJVM: Lightweight Java Virtual Machine for embedded systems

Created on 20 Mar 2019  Β·  83Comments  Β·  Source: openjournals/joss-reviews

Submitting author: @omoliavko (Oleksandr Moliavko)
Repository: https://github.com/Samsung/uJVM/
Version: v0.1
Editor: @gkthiruvathukal
Reviewer: @morganericsson, @hainesr
Archive: 10.5281/zenodo.2647414

Status

status

Status badge code:

HTML: <a href="http://joss.theoj.org/papers/23161710ad8996910f329efc48c2f1a1"><img src="http://joss.theoj.org/papers/23161710ad8996910f329efc48c2f1a1/status.svg"></a>
Markdown: [![status](http://joss.theoj.org/papers/23161710ad8996910f329efc48c2f1a1/status.svg)](http://joss.theoj.org/papers/23161710ad8996910f329efc48c2f1a1)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@morganericsson & @hainesr, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @gkthiruvathukal know.

✨ Please try and complete your review in the next two weeks ✨

Review checklist for @morganericsson

Conflict of interest

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Version: Does the release version given match the GitHub release (v0.1)?
  • [x] Authorship: Has the submitting author (@omoliavko) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • [x] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • [x] Authors: Does the paper.md file include a list of authors with their affiliations?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?

Review checklist for @hainesr

Conflict of interest

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Version: Does the release version given match the GitHub release (v0.1)?
  • [x] Authorship: Has the submitting author (@omoliavko) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • [x] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • [x] Authors: Does the paper.md file include a list of authors with their affiliations?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
accepted published recommend-accept review

Most helpful comment

@arfon @gkthiruvathukal @hainesr @morganericsson - A big "thank you" for your help, for your time and your effort :)

All 83 comments

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @morganericsson, it looks like you're currently assigned as the reviewer for this paper :tada:.

:star: Important :star:

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

For a list of things I can do to help you, just type:

@whedon commands
Attempting PDF compilation. Reticulating splines etc...

Hi @omoliavko, should vpetrychenko also be an author on this paper? They appear to have made a significant contribution to the software - https://github.com/Samsung/uJVM/graphs/contributors

Hi @hainesr, I could add him to authors list, but he contributed to S/W, not the paper itself, so I'm not sure if it would be correct.

The software is the important contribution here, so I think he should be added. The paper is of secondary importance where authorship is concerned. I'll tag in @gkthiruvathukal for an adjudication, though...

I concur with @hainesr. I would think that one of the main goals of JOSS is to ensure that those who contribute substantially to the development of research software are recognized for their contributions.

Ok, I'll update the author list

Added Vitalii Petrychenko (vpetrychenko) to author list

@whedon commands

Here are some things you can ask me to do:

# List Whedon's capabilities
@whedon commands

# List of editor GitHub usernames
@whedon list editors

# List of reviewers together with programming language preferences and domain expertise
@whedon list reviewers

EDITORIAL TASKS

# Compile the paper
@whedon generate pdf

# Compile the paper from alternative branch
@whedon generate pdf from branch custom-branch-name

# Ask Whedon to check the references for missing DOIs
@whedon check references

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

Hi @omoliavko, I had some issues building this project with my setup. I have JDK 11 as my default java, but setting $JAVA_HOME to point to JDK 8 didn't have any effect. I have submitted a pull request (Samsung/uJVM#79) to fix this.

Hi @hainesr, Great job! I've merged your pull request. We will add a description "how to set JAVA_HOME for Java "

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

:wave: @morganericsson - how are you getting along with your review?

@arfon I've had some issues with the software. Since this is my first review for JOSS, I am unsure where/how to voice my concerns, but I'll do it here and then we can edit if it is the wrong place.

  • The current version seems to be 0.2, so my comments are based on that version.
  • It is not clear who this is intended for, see the next item...
  • The documentation (apart from compiling) is quite poor, so it is difficult to judge exactly what the current release can do. I tried to write a few simple programs, and quickly ran into multiple difficulties, e.g.:

    • It was not obvious how to package and run programs.

    • It was not obvious which classes/functions I could use. Again, the japps and tests helped, but the documentation really needs to be better.

    • I ran into multiple failures (e.g., Ret <something> @ instr right before <addr>) from even simple loops and methods.

Based on this, I am not sure if the submission fulfills "The software should be feature complete" (and "either enables some new research challenges to be addressed or makes addressing research challenges significantly better" but I guess this depends on the target audience).

(so, checkmarks are in some sense correct according to my current understanding of the software)

@morganericsson this is valid feedback to mention hereβ€”you are totally allowed (expected, even) to not check something off that you don't feel the software satisfies. This is the place for such conversations between you, the authors, and the editors to get the submission to the acceptance point.

@morganericsson Thanks for the valuable feedback, we'll improve the documentation as soon as feasible. Now answers to your specific comments:
1) Current version is 0.2 - we're actively developing the uJVM, taking feedback from multiple sources into account; indeed, you're welcome to give feedback if you have time and feel inclined to do so
2) We'll update the article to specify intended applications of uJVM; however, right now it is more of an experimental development than application meant for release
3.1) We'll provide documentation that describes the process of creating applications and running them on uJVM (see https://github.com/Samsung/uJVM/issues/81);
3.2) As of March 2019, uJVM development is centered on creating efficient Java interpreter, to prove the feasibility of Java apps for embedded systems - indeed, this was the primary objective of uJVM research project from the very beginning; creating extended library of classes similar to standard Java library is only in plans; we'll provide list of currently supported library classes and methods in documentation (see https://github.com/Samsung/uJVM/issues/82)
3.3) We'd be grateful if you could send detailed error reports to us or create issues on github so we could analyze and fix the bugs you've encountered
Once again, thanks for your time and effort

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@hainesr @morganericsson We've added expected audience for uJVM project to paper

@hainesr @morganericsson Javadoc documentation generation is added to uJVM to view info on supported Java classes; updated README.md to reflect this and added uJVM_functionality_description.md file to docs folder.

@hainesr @morganericsson A guide on creating apps for uJVM was added - please see docs/java_app_creating_guide.md file. We'd be grateful for your opinion on it.

I've reviewed the added files and the updated paper, and updated my review checklist accordingly. Overall, I think it's fine and all of my concerns have been addressed. The documentation, of course, should improve over time, but I think it's sufficient for now.

@morganericsson Thank you once again for your time, and a separate thank you for vote of confidence. If you have any suggestions on how to improve project and documentation further, please do not hesitate to contact us.

@arfon @kyleniemeyer Could you please explain what steps we should take now that @morganericsson has completed the checklist?

@omoliavko I will await a response from @arfon or @kyleniemeyer. It looks like we are pretty close.

I'm aware that I need to complete my checklist too. I will endeavour to do so in the next couple of days.

Thanks @hainesr. We will wait for your checklist.

I have raised a new PR to fix javadoc on setups with multiple JDKs: Samsung/uJVM#85

@hainesr Pull Request accepted, thank you for collaboration

My checklist is complete now @gkthiruvathukal, @arfon. I'm happy with the submission!

I think a new release now needs to be tagged @omoliavko. Would you consider calling it 1.0 in line with Semantic Versioning? https://semver.org/

One minor nit-pick: in the paper itself, I think it would read better if you wrote 'software' and 'hardware' out longhand instead of using 'S/W' and 'H/W'. But this is just my personal preference and not necessarily a barrier to acceptance.

@hainesr We're also happy with our progress so far; unfortunately, we cannot tag a new release now, because we have a development plan to adhere to, and next release of uJVM shall include several features that are in development now.

@arfon @kyleniemeyer @gkthiruvathukal Could you please explain what steps we should take now that @morganericsson and @hainesr have completed the checklist?

At this point @gkthiruvathukal will give it a final look as the editor for the submission; if he decides it is ready to accept, then he'll ask you to archive the accepted version of the package and provide an associated DOI (e.g., via Zenodo). However, hold off until you get that request from him.

@kyleniemeyer I'm on travel right now (a mix of business and pleasure). I will work on the decision in the next day or two. I'm encouraged by what I am seeing though. Thanks to all for your patience. I will try not to keep you waiting for too long.

@tdrozdovsky and @omoliavko, I have gone through the checklist, and I'm ready to accept. Based on @kyleniemeyer's follow-up, can you please archive the accepted version of the package and provide an associated DOI (e.g., via Zenodo).

@kyleniemeyer Just to clarify, I do not do an accept via Whedon just yet, right?

Hi @gkthiruvathukal - rather than asking a specific AEiC, you probably should ask all of us (to get the person on duty this week) by including @openjournals/joss-eics in the comment.

And in this case, no, don't do an accept yet - you can do that once these other things (version, archive) are done, or the AEiC can do it.

@danielskatz Thanks for clarifying how to ask all AEICs. Somehow that was lost on me.

@openjournals/joss-eics This submission is moving toward acceptance. As this is one of the first I have seen through the process, it would be good if you can take a look that all is in order. The checklists are fine and all issues seem to have been addressed in the issue thread and follow-up. I believe we just need the DOI for the accepted version of the package.

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

The checklists are fine and all issues seem to have been addressed in the issue thread and follow-up. I believe we just need the DOI for the accepted version of the package.

Yep, I think we're in good shape here. At this point we just need the author to create a DOI for the software and post the URL to it here.

Thanks, @arfon. Will await the DOI and associated URL and process the acceptance not long thereafter.

@whedon set https://zenodo.org/record/2647414 as archive

I'm sorry @omoliavko, I'm afraid I can't do that. That's something only editors are allowed to do.

@gkthiruvathukal I've posted uJVM source code archive to Zenodo: https://zenodo.org/record/2647414

@whedon set https://zenodo.org/record/2647414 as archive

https://zenodo.org/record/2647414 doesn't look like an archive DOI.

@whedon set 10.5281/zenodo.2647414 as archive

OK. 10.5281/zenodo.2647414 is the archive.

Thanks, @omoliavko! I was able to associate the archive.

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@openjournals/joss-eics I believe we are close to acceptance now. Are the authors supposed to cite the Zenodo artifact in the list of references in the accepted paper?

No - it will be linked in the top left in the final paper.

@whedon accept

Attempting dry run of processing paper acceptance...

Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/631

If the paper PDF and Crossref deposit XML look good in https://github.com/openjournals/joss-papers/pull/631, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.
@whedon accept deposit=true

```Reference check summary:

OK DOIs

  • None

MISSING DOIs

  • None

INVALID DOIs

  • None
    ```

@openjournals/joss-eics Thanks for all the help. I think I have a good handle on the workflow now.

@openjournals/joss-eics Thanks for all the help. I think I have a good handle on the workflow now.

:+1: are you happy with the final proofs @gkthiruvathukal? If so, I can go ahead and process the paper acceptance.

@arfon The proofs looked fine when I checked. I'm mobile now but am confident we can process acceptance.

@whedon accept deposit=true

Doing it live! Attempting automated processing of paper acceptance...

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited :point_right: https://github.com/openjournals/joss-papers/pull/632
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.01338
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! πŸŽ‰πŸŒˆπŸ¦„πŸ’ƒπŸ‘»πŸ€˜

    Any issues? notify your editorial technical team...

@morganericsson, @hainesr - many thanks for your reviews and to @gkthiruvathukal for editing this submission ✨

@omoliavko - your paper is now accepted into JOSS :zap::rocket::boom:

:tada::tada::tada: Congratulations on your paper acceptance! :tada::tada::tada:

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](http://joss.theoj.org/papers/10.21105/joss.01338/status.svg)](https://doi.org/10.21105/joss.01338)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.01338">
  <img src="http://joss.theoj.org/papers/10.21105/joss.01338/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: http://joss.theoj.org/papers/10.21105/joss.01338/status.svg
   :target: https://doi.org/10.21105/joss.01338

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:

@arfon @gkthiruvathukal @hainesr @morganericsson - A big "thank you" for your help, for your time and your effort :)

This paper has been retracted by the JOSS editorial team due to a DMCA takedown.

Was this page helpful?
0 / 5 - 0 ratings