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...
Main Authors: | , |
---|---|
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 |