oicr-gsi / robust-paper

Ten Simple Rules for Making Research Software More Robust. Manuscript is published at PLoS Computational Biology. Feedback is welcome!
https://doi.org/10.1371/journal.pcbi.1005412
MIT License
12 stars 0 forks source link

Please leave feedback here #20

Closed gvwilson closed 7 years ago

gvwilson commented 7 years ago

We welcome feedback on this draft - please either:

  1. Add a comment to this issue.
  2. File a separate issue in this repository.
  3. Submit a pull request proposing a change to robust-software.tex (by preference) or index.md.
  4. Email the authors.
morgantaschuk commented 7 years ago

Thanks to our pre-print reviewers: jon_petters, morungos, froggleston, JungeAlexander, apmasell, michaelhoffman, Moran Neuhof, Spencer Smith, Radovan Bast, Patrick O'Beirne, Phillip Lord , Konrad Hinsen, Emily Davenport, ctitusbrown, aurelg

If I've missed you or misinterpreted your comments, please leave a comment and let us know.

On what "Robust" means

Different disciplines

0. Introduction

1. READMEs

2. Usage

3. Version number

4. Older versions

5. Reuse software

6. No root

7. No hard-coding

8. Parameters

9. Test sets

10. Identical results

11. Conclusion

Code documentation.

Reference suggestions:

Other suggestions:

Allowing/promoting community contributions

hlapp commented 7 years ago

A couple of comments that I didn't find covered above (though may have overlooked):

michaelhoffman commented 7 years ago

I don’t think I belong on this thread, though it is very interesting.

-MH

On Sep 29, 2016, at 8:36 AM, Hilmar Lapp notifications@github.com<mailto:notifications@github.com> wrote:

A couple of comments that I didn't find covered above (though may have overlooked):

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/oicr-gsi/robust-paper/issues/20#issuecomment-250502674, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJNO9N4xMY5BIFYHRMijqBc5HuzMmoVxks5qu9rsgaJpZM4J6wTH.

morgantaschuk commented 7 years ago

@michaelhoffman Sorry about that. It was a Twitter handle/GitHub name overlap.

michaelhoffman commented 7 years ago

No problem! Just thought you'd like to include the intended "Michael Hoffman"

-MH

This was sent from my phone. I blame autocorrect.

On Sep 29, 2016, at 10:21 AM, Morgan Taschuk notifications@github.com<mailto:notifications@github.com> wrote:

@michaelhoffmanhttps://github.com/michaelhoffman Sorry about that. It was a Twitter handle/GitHub name overlap.

You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/oicr-gsi/robust-paper/issues/20#issuecomment-250533193, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJNO9IibZ64GaOaZVoourkhzwHMRNAv-ks5qu_NxgaJpZM4J6wTH.

morgantaschuk commented 7 years ago

Closing this issue as a pre-submission thread. Please open a new issue if you'd like to address these comments further.

hlapp commented 7 years ago

The submitted manuscript seems to lack acknowledgments, including to this thread. Intention or oversight? And most of the above feedback seems to have gone neither into a rule nor into "What was left out". Intention or oversight?

morgantaschuk commented 7 years ago

Good point about the acknowledgements. We should definitely add a section. That was an oversight.

We definitely took all of the feedback into account. You can see the diffs and our discussion in pull requests here: https://github.com/oicr-gsi/robust-paper/pull/21 and https://github.com/oicr-gsi/robust-paper/pull/22.

I looked at your feedback in particular. We agree with each of your points about memory leaks and checkpointing, but we decided those topics are beyond the scope of "simple rules". These rules are intended to be made on software in order to make code reuse simpler and more straightforward, not necessarily to make it the best software out there. Randomly, the term "robust" in this paper is probably a misnomer on our part. We took your suggestion about combining versioning and old versions sections, and we also incorporated your feedback regarding checking input values into the second part of rule 9.

hlapp commented 7 years ago

Randomly, the term "robust" in this paper is probably a misnomer on our part.

Perhaps. As a reviewer, one of my major comments would be that the set of rules conflates robustness to run ("use") and robustness to "reuse". E.g., software can run quite robustly even if it has no tests at all that a user would be able to run. For example, the quoted mkdir doesn't come with tests that execute when it's installed (most installations are from binary, and this is no different for scientific software).

Personally, I feel these are better separated than commingled, even though I believe quite strongly that collaboratively developed software tends to be much more robust than software developed by a single individual. But the manuscript isn't putting up develop collaboratively as a rule (which is fair enough), and arguably individually developed software need not lack robustness.

we also incorporated your feedback regarding checking input values into the second part of rule 9.

I see. I didn't recognize that when I read that section. (And checking user input is not specifically mentioned as to what is most useful to test to improve robustness -- certain tests contribute to robustness much more than others.)