Re-run, Repeat, Reproduce, Reuse, Replicate: Transforming Code into Scientific Contributions

Scientific code is different from production software. Scientific code, by producing results that are then analyzed and interpreted, participates in the elaboration of scientific conclusions. This imposes specific constraints on the code that are often overlooked in practice. We articulate, with a s...

Full description

Bibliographic Details
Main Authors: Fabien C. Y. Benureau, Nicolas P. Rougier
Format: Article
Language:English
Published: Frontiers Media S.A. 2018-01-01
Series:Frontiers in Neuroinformatics
Subjects:
Online Access:http://journal.frontiersin.org/article/10.3389/fninf.2017.00069/full
Description
Summary:Scientific code is different from production software. Scientific code, by producing results that are then analyzed and interpreted, participates in the elaboration of scientific conclusions. This imposes specific constraints on the code that are often overlooked in practice. We articulate, with a small example, five characteristics that a scientific code in computational science should possess: re-runnable, repeatable, reproducible, reusable, and replicable. The code should be executable (re-runnable) and produce the same result more than once (repeatable); it should allow an investigator to reobtain the published results (reproducible) while being easy to use, understand and modify (reusable), and it should act as an available reference for any ambiguity in the algorithmic descriptions of the article (replicable).
ISSN:1662-5196