Abstract
We carry out efforts to reproduce computational results for seven published articles and identify barriers to computational reproducibility. We then derive three principles to guide the practice and dissemination of reproducible computational research: (i) Provide transparency regarding how computational results are produced; (ii) When writing and releasing research software, aim for ease of (re-)executability; (iii) Make any code upon which the results rely as deterministic as possible. We then exemplify these three principles with 12 specific guidelines for their implementation in practice. We illustrate the three principles of reproducible research with a series of vignettes from our experimental reproducibility work. We define a novel Reproduction Package, a formalism that specifies a structured way to share computational research artifacts that implements the guidelines generated from our reproduction efforts to allow others to build, reproduce and extend computational science. We make our reproduction efforts in this paper publicly available as exemplar Reproduction Packages. This article is part of the theme issue 'Reliability and reproducibility in computational science: implementing verification, validation and uncertainty quantification in silico'.
Original language | English (US) |
---|---|
Article number | 20200069 |
Journal | Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences |
Volume | 379 |
Issue number | 2197 |
Early online date | Mar 29 2021 |
DOIs | |
State | Published - May 17 2021 |
Keywords
- code packaging
- open code
- open data
- reproducibility
- software testing
- verification
ASJC Scopus subject areas
- General Mathematics
- General Engineering
- General Physics and Astronomy