Teaching Popper in Open Source Programming

We are excited about using Popper in our upcoming Open Source Programming class (CMPS 107) at the School of Engineering at UC Santa Cruz. Popper is our new framework for making experiments reproducible, whether in the lab or in the class room. It works for any kind of experiment in the digital domain.

The idea is simple: treat experiments as a software engineering problem and repurpose and leverage open-source software engineering techniques and strategies that were designed to reproduce bugs to achieve reproducibility. In practice that means git plus a number of DevOps tools like software containers and deployment and orchestration frameworks. But the Popper convention works with any tool and service as long as it is scriptable. We use continual integration (CI) services like Travis to validate Popper compliance, reproducibility, and experiments.

For more details read our article in the latest USENIX ;login: magazine (vol. 41, no. 4).

Work on Popper was partially funded by NSF grant #1450488 (Big Weather Web) and the Center for Research in Open Source Software (CROSS).