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
id doaj-f44e7980f90f4aa49b8c2ba4eaf7c0c0
record_format Article
spelling doaj-f44e7980f90f4aa49b8c2ba4eaf7c0c02020-11-24T21:17:56ZengFrontiers Media S.A.Frontiers in Neuroinformatics1662-51962018-01-011110.3389/fninf.2017.00069306402Re-run, Repeat, Reproduce, Reuse, Replicate: Transforming Code into Scientific ContributionsFabien C. Y. Benureau0Fabien C. Y. Benureau1Fabien C. Y. Benureau2Nicolas P. Rougier3Nicolas P. Rougier4Nicolas P. Rougier5INRIA Bordeaux Sud-Ouest, Talence, FranceInstitut des Maladies Neurodégénératives, Université de Bordeaux, Centre National de la Recherche Scientifique UMR 5293, Bordeaux, FranceLaBRI, Université de Bordeaux, Bordeaux INP, Centre National de la Recherche Scientifique UMR 5800, Talence, FranceINRIA Bordeaux Sud-Ouest, Talence, FranceInstitut des Maladies Neurodégénératives, Université de Bordeaux, Centre National de la Recherche Scientifique UMR 5293, Bordeaux, FranceLaBRI, Université de Bordeaux, Bordeaux INP, Centre National de la Recherche Scientifique UMR 5800, Talence, FranceScientific 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).http://journal.frontiersin.org/article/10.3389/fninf.2017.00069/fullreplicabilityreproducibility of resultsreproducible sciencereproducible researchcomputational sciencesoftware development
collection DOAJ
language English
format Article
sources DOAJ
author Fabien C. Y. Benureau
Fabien C. Y. Benureau
Fabien C. Y. Benureau
Nicolas P. Rougier
Nicolas P. Rougier
Nicolas P. Rougier
spellingShingle Fabien C. Y. Benureau
Fabien C. Y. Benureau
Fabien C. Y. Benureau
Nicolas P. Rougier
Nicolas P. Rougier
Nicolas P. Rougier
Re-run, Repeat, Reproduce, Reuse, Replicate: Transforming Code into Scientific Contributions
Frontiers in Neuroinformatics
replicability
reproducibility of results
reproducible science
reproducible research
computational science
software development
author_facet Fabien C. Y. Benureau
Fabien C. Y. Benureau
Fabien C. Y. Benureau
Nicolas P. Rougier
Nicolas P. Rougier
Nicolas P. Rougier
author_sort Fabien C. Y. Benureau
title Re-run, Repeat, Reproduce, Reuse, Replicate: Transforming Code into Scientific Contributions
title_short Re-run, Repeat, Reproduce, Reuse, Replicate: Transforming Code into Scientific Contributions
title_full Re-run, Repeat, Reproduce, Reuse, Replicate: Transforming Code into Scientific Contributions
title_fullStr Re-run, Repeat, Reproduce, Reuse, Replicate: Transforming Code into Scientific Contributions
title_full_unstemmed Re-run, Repeat, Reproduce, Reuse, Replicate: Transforming Code into Scientific Contributions
title_sort re-run, repeat, reproduce, reuse, replicate: transforming code into scientific contributions
publisher Frontiers Media S.A.
series Frontiers in Neuroinformatics
issn 1662-5196
publishDate 2018-01-01
description 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).
topic replicability
reproducibility of results
reproducible science
reproducible research
computational science
software development
url http://journal.frontiersin.org/article/10.3389/fninf.2017.00069/full
work_keys_str_mv AT fabiencybenureau rerunrepeatreproducereusereplicatetransformingcodeintoscientificcontributions
AT fabiencybenureau rerunrepeatreproducereusereplicatetransformingcodeintoscientificcontributions
AT fabiencybenureau rerunrepeatreproducereusereplicatetransformingcodeintoscientificcontributions
AT nicolasprougier rerunrepeatreproducereusereplicatetransformingcodeintoscientificcontributions
AT nicolasprougier rerunrepeatreproducereusereplicatetransformingcodeintoscientificcontributions
AT nicolasprougier rerunrepeatreproducereusereplicatetransformingcodeintoscientificcontributions
_version_ 1726011273438560256