The figures are perfect and your manuscript is in the final draft, but is your code ready for publication?  Get your project reviewed by professional Research Software Engineers from Princeton University Research Computing.  Consultations will identify aspects that could be improved to follow current best practices for reproducibility, distribution, and code sustainability.

Requirements

  • Software is part of a Princeton University affiliated research project.
  • Code is available on Github; private repositories can be shared as a zipped archive. 
    • Reviews are confidential unless express permission is given to share them.
    • Private repositories won't be shared outside the RSE group and will be deleted when reviews are completed.
  • The software is primarily feature complete, in working condition, and capable of reproducing results.
  • You are allowed by all licenses, copyrights, contributors, and shareholders (e.g. your PI) to provide the software with the RSE group.

Consultation Details

  • Apply for a code review, providing information on the current state of the codebase and primary concerns.
  • Once your application is accepted, a member of the RSE team will independently review your repository.  Within 1 month, you will be provided with a report listing recommendations to improve the software, prioritizing issues related to distribution and reproducibility.
  • While many reviews are completed faster than one month, projects requiring a particular expertise may take longer to find appropriate reviewers.  This is a volunteer service and we may not be able to meet urgent deadlines.
  • We will schedule a meeting with you to review the completed assessment and ensure the recommendations are clear.
  • Optionally, once you’ve had time to address some concerns, you can schedule a followup review to confirm the changes are properly implemented and highlight any outstanding issues.

Submit an Application

To request for your repo to be reviewed by the RSE team, please submit a request using the Repository Review Request Form.

Questions

Email questions to [email protected].

 

Additional Resources

Here are some helpful resources that can be used to improve code repositories and develop better scientific software. 

General Software Engineering

Blank review template 

Self assessment tool for improving software practices 

Wilson G, Aruliah DA, Brown CT, Chue Hong NP, Davis M, Guy RT, et al. (2014) Best Practices for Scientific Computing. PLoS Biol 12(1): e1001745.

Wilson G, Bryan J, Cranston K, Kitzes J, Nederbragt L, Teal TK (2017) Good enough practices in scientific computing. PLoS Comput Biol 13(6): e1005510.

Python Specific Guide

Scikit-HEP developer pages