American Journal of Pathology & Research
Open AccessSiPy Execution Logs as Reproducibility Infrastructure
Authors: Maurice HT Ling.
Abstract
Computational reproducibility requires more than retaining the final numerical results of an analysis. The computational environment, software versions, commands and execution sequence may all influence the results, therefore, form part of the computational record. Execution logs provide a straightforward mechanism for recording such information but conventional logs are generally passive records intended primarily for debugging or retrospective inspection. We describe an execution log framework implemented in SiPy, a lightweight statistical interface that coordinates external Python, R, Julia and shell scripts. The SiPy execution log records the SiPy version and release information, execution environment, interpreter versions, selected analytical Python packages, commands, results and timestamps. Five operations provide a complete execution record workflow: saving a log, reading a log, extracting its history, comparing the recorded environment with the current environment, and replaying the recorded commands to compare results. This transforms the execution log from a passive record into an executable provenance record that can be used to investigate reproducibility.
Editor-in-Chief
View full editorial board →