Hi, On Tue, 15 Feb 2022 at 15:10, Bengt Richter <b...@bokr.com> wrote:
> I suspect what you really want to reproduce is not verbatim > code, but the abstract computation that it implements, > typically a digitally simulated experiment? [...] > Maybe the above pi computation could be a start on some kind > of abstract model validation test? It's simple, but it pulls > on a lot of simulation tool chains. WDYT? Well, it depends on the community which term they pick for which concept: - same team, same experimental setup - different team, same experimental setup - different team, different experimental setup and the terms are repeat, replicate, reproduce. For details, see [1]. Since Konrad is editor for the ReScience journal, I guess ’reproduce’ means [2]: Reproduction of a computational study means running the same computation on the same input data, and then checking if the results are the same, or at least “close enough” when it comes to numerical approximations. Reproduction can be considered as software testing at the level of a complete study. Where my understanding of your “abstract computation” looks more as [2]: Replication of a scientific study (computational or other) means repeating a published protocol, respecting its spirit and intentions but varying the technical details. For computational work, this would mean using different software, running a simulation from different initial conditions, etc. The idea is to change something that everyone believes shouldn’t matter, and see if the scientific conclusions are affected or not. Therefore, again from my understanding, you are somehow proposing what science should be. :-) It is what the initiative GuixHPC [3] is trying to tackle. Transparency and full control of the variability––the roots of the scientific method––allow to achieve, with more or less success, ’reproduction’. Here and today, Guix plays a central role for reproducing because Guix does not cheat with transparency and full control of variability. Note that some people are calling for bit-to-bit scientific reproduction. I am not. Because the meaning of “same” or “equal” depends on the scientific fields. However, it is up to any scientific debate or controversy to draw the line for “same” and argue if the conclusions hold. Again, transparency and full control of the variability are fundamental here. How to argue if they are not satisfied? Then, and out of Guix scope, if the reproduced result matters enough, people can try to replicate, for confirmation, for performance improvements, or as a step targeting another results. This replication can use Guix to control the variability and also help the reproduction of the replication; but Guix does not take a central role here. Last, it is in this second and other steps that the “abstract model” could play role, and it is out of Guix scope, IMHO. 1: <https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5778115/> 2: <http://rescience.github.io/faq/> 3: <https://hpc.guix.info/> Cheers, simon