


From your source code to a
reproducible online demonstration
2025 ACM Conference on Reproducibility and Replicability
Miguel Colom
Tutorial description
This is a short (3 hours) hands-on tutorial on how to arrive at a complete reproducible research article, with a special focus on building a complete online demonstration of a particular method.To this purpose, we will use the demo system of the Image Processing On Line (IPOL) journal, which publishes reproducible research on algorithms under the diamond open-access model. That is, free of charge for both users and readers, and with articles under a CC-BY-NC-SA license, and all source codes under a free software license. However, the techniques explained and the recommendations given are general and applicable to any other journal or platform.
IPOL understands a publication not just as the article, but as the unbreakable combination of the article + source code + data as a whole, all of them under the same peer review. Therefore, we will provide recommendation of all of them, even though we'll focus more on the practical aspects of the source code and the online interface for the online demo.
Specifically, the following topics will be covered:
- The importance of controlling execution environments. From virtual environments to lightweight virtualization with Docker.
- Recommendations on how to structure a reproducible research article. Matching pseudocodes and actual source code.
- Recommendations on how to publish and reference source code. Recommendations on permanent preservation of the source code and permanent identifiers such as a the SWHID.
- Designing an online demo for your method: the software requirements, the inputs, the outputs, and interfacing with your code.
- Using a Docker container to run your code. Discussion: why is this required? Would not be a Python virtual environment enough (or equivalent tools in other languages)?
- Using a distributed version control (Github, to cite a well-known one) to work on your code and build the online demo. Using private/public key pairs.
- Testing your online demo.
The participants are expected to finish this tutorial with an interactive online demonstration of their proposed methods.
Intended audience
The targeted audience for this tutorial is researchers or professionals who use source code as a fundamental artifact of their work, and who are concerned about related reproducibility and replicability issues.The proficiency level is therefore intermediate, with basic knowledge on:
- Using a GNU/Linux system and installing packages if needed. Although other systems may be used (such as macOS or Windows), but we can only offer limited support for those.
- Coding an algorithm with a language in a computer and being able to read and write pseudocode.
- Being able to use Github or any other versioning system.
Audience prerequisites
To fully take advantage of the tutorial, the participants should:- Bring their laptop. With a GNU/Linux system, preferably.
- Have a method that takes an input (say, an image), the associated parameters, and produces a result in less than one (or a few, in the worst case) minute. The goal is to make a quick demonstration of a method.
- Have the source code ready, so we can focus on the environment and online execution. The program should be executable from the command line.
Tutorial delivery
This tutorial is mainly practical, with the objective that each of participants ends up the session with a working online demonstration of their reproducible method.To complete the practical part, each of the steps will be justified with explanations on why some steps are relevant, such as the use of PIDs for the code, or why we recommend the source code and the associated article should be structured in a certain way.
The session will be interactive and participative, allowing the participants to come with questions or comments at any time.
About the instructor
Miguel Colom is a senior researcher (PhD, HDR) at Centre Borelli, ENS Paris-Saclay (France), and a member of the French Reproducibility Network. He performs research on open science and computational reproducible research, focused on image processing, computer vision, and general AI. He is one of the founding editors of the Image Processing On Line (IPOL) journal and he designed its demo system along with a team of motivated engineers. He is a member of the IPOL Editorial Board, the Board Team of IAPR TC18 on Discrete Geometry and Mathematical Morphology, and a board member of the IAPR Technical Committee 22 (TC 22) on reproducibility. Formerly he was a co-chair of the EOSC task force, Infrastructures for Quality Research Software (2022), and a member of the Task Force Scholarly Infrastructures for Research Software (2021). He is the Reproducibility Chair at the 2026 International Conference on Pattern Recognition (ICPR). Currently he teaches two courses in the reproducibility track of the M2 MVA master at ENS Paris-Saclay.For more information or for contacting me, you can have a look at my personal website.