Probing the Design Space: Parallel Versions for Exploratory Programming

Exploratory programming involves open-ended tasks.To evaluate their progress on these, programmers require frequent feedback and means to tell if the feedback they observe is bringing them in the right direction.Collecting, comparing, and sharing feedback is typically done through ad-hoc means: relying on memory to compare outputs, code comments, or manual screenshots.To approach this issue, we designed Exploriants: an extension to example-based live programming.Exploriants allows programmers to place variation points.It collects outputs captured in probes and presents them in a comparison view that programmers can customize to suit their program domain.We find that the addition of variation points and the comparisons view encourages a structured approach to exploring variations of a program.We demonstrate Exploriants' capabilities and applicability in three case studies on image processing, data processing, and game development.Given Exploriants, exploratory programmers are given a straightforward means to evaluate their progress and do not have to rely on ad-hoc methods that may introduce errors.

Authors

Institutions

Publication Details

Journal
The Art Science and Engineering of Programming
Published
2025-02-15
DOI
https://doi.org/10.22152/programming-journal.org/2026/10/5
Primary Topic
Distributed and Parallel Computing Systems
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Probing the Design Space: Parallel Versions for Exploratory Programming

Stefan Ramson, Toni Mattis, Martin Rinard, Tom Beckmann et al.
The Art Science and Engineering of Programming
Distributed and Parallel Computing Systems
article

Probing the Design Space: Parallel Versions for Exploratory Programming

Stefan Ramson, Toni Mattis, Martin Rinard, Tom Beckmann, Joana Bergsiek, Eva Krebs, Robert Hirschfeld
article en

Abstract

Exploratory programming involves open-ended tasks.To evaluate their progress on these, programmers require frequent feedback and means to tell if the feedback they observe is bringing them in the right direction.Collecting, comparing, and sharing feedback is typically done through ad-hoc means: relying on memory to compare outputs, code comments, or manual screenshots.To approach this issue, we designed Exploriants: an extension to example-based live programming.Exploriants allows programmers to place variation points.It collects outputs captured in probes and presents them in a comparison view that programmers can customize to suit their program domain.We find that the addition of variation points and the comparisons view encourages a structured approach to exploring variations of a program.We demonstrate Exploriants' capabilities and applicability in three case studies on image processing, data processing, and game development.Given Exploriants, exploratory programmers are given a straightforward means to evaluate their progress and do not have to rely on ad-hoc methods that may introduce errors.

The Art Science and Engineering of ProgrammingVol. 10(1)
Hasso Plattner Institute (DE), University of Potsdam (DE), Massachusetts Institute of Technology (US)
Climate action
Openalex Percentile: Top 97%
Distributed and Parallel Computing Systems
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.