About

Over the last decade software engineering and systems administration
communities (also referred to as DevOps) have developed sophisticated
techniques and strategies to ensure “software reproducibility”, i.e.
the reproducibility of software artifacts and their behavior using
versioning, dependency management, containerization, orchestration,
monitoring, testing and documentation. The key idea behind the Popper
Convention is to manage every experiment in computation and data
exploration as a software project, using tools and services that are
readily available now and enjoy wide popularity. By doing so,
scientific explorations become reproducible with the same convenience,
efficiency, and scalability as software reproducibility while fully
leveraging continuing improvements to these tools and services. Rather
than mandating a particular set of tools, the convention only expects
components of an experiment to be scripted (see @Fig:devops-approach).
There are two main goals for Popper:

It should be usable in as many research projects as possible,
regardless of their domain.

It should abstract underlying technologies without requiring a
strict set of tools, making it possible to apply it on multiple
toolchains.