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

Abstract

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).

Link to resource: https://www.frontiersin.org/articles/10.3389/fninf.2017.00069/full

Type of resources: Reading

Education level(s): Graduate / Professional

Primary user(s): student, teacher

Subject area(s): Computer Science, Information Science, Social Science

Language(s): English