Literate Exploratory Programming for Asynchronous Collaboration

Authors:
Christoph Thiede, Tom Beckmann, Marcel Taeumel, Robert Hirschfeld
Published:
In Programming Companion '26: Companion Proceedings of the 10th International Conference on the Art, Science, and Engineering of Programming. March 16, 2026.
Abstract:

A programmer can effectively explore systems by pursuing different approaches, conducting many experiments, and interacting with artifacts of the (runtime) environment. However, multiple programmers working together on the same exploration goal face challenges when communicating asynchronously, as they have to reproduce and explain relevant experiments and artifacts from their exploration to share them with coworkers. We propose literate exploratory programming as a novel workflow that combines exploration and explanation activities and reduces communication overheads through a tracking mechanism for extracting artifacts from the exploratory session. Inspired by traditional literate programming, in which implementation and contextualization are tightly interwoven, our approach introduces exploratory journals: a programmer can share artifacts such as code, runtime objects, and active debugging sessions together with prose, and another programmer can later resume the exploration from there. We demonstrate the feasibility of our approach by implementing a prototype in Squeak/Smalltalk and applying it for a design discussion in an open-source community. Our work indicates that tool support can foster effective collaboration in asynchronous exploratory programming contexts.

BibTeX:
@inproceedings{thiede2026,
  title = {{Literate Exploratory Programming for Asynchronous Collaboration}},
  author = {Christoph Thiede and Tom Beckmann and Marcel Taeumel and Robert Hirschfeld},
  booktitle = {Programming Companion '26: Companion Proceedings of the 10th International Conference on the Art, Science, and Engineering of Programming},
  year = 2026,
  doi = {10.1145/3801119.3801129},
}