Exploring exploratory programming
Abstract
In open-ended tasks where a program's behavior cannot be specified in advance, exploratory programming is a key practice in which programmers actively experiment with different possibilities using code. Exploratory programming is highly relevant today to a variety of professional and end-user programmer domains, including prototyping, learning through play, digital art, and data science. However, prior research has largely lacked clarity on what exploratory programming is, and what behaviors are characteristic of this practice. Drawing on this data and prior literature, we provide an organized description of what exploratory programming has meant historically and a framework of four dimensions for studying exploratory programming tasks: (1) applications, (2) required code quality, (3) ease or difficulty of exploration, and (4) the exploratory process. This provides a basis for better analyzing tool support for exploratory programming.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
Even when not strictly in an exploratory programming setting, vibe coding is accommodating of an exploratory element.
“This suggests that even when not strictly in an exploratory programming setting (Kery and Myers, 2017), vibe coding is accommodating of an exploratory element.”
From Vibe coding: programming through conversation with artificial intelligence (2025) · cites this paper as Kery and Myers, 2017
Cites
Exploration and Exploitation in Organizational Learning
March, J. G. (1991) · Organization Science · doi:10.1287/orsc.2.1.71 · Cited by 21,942 · cited 3× · see citing works
“” [1]”
BackgroundInfluentialPractical Bayesian Optimization of Machine Learning Algorithms
Snoek, J., Larochelle, H., & Adams, R. P. (2012) · arXiv · doi:10.48550/arxiv.1206.2944 · Cited by 6,691 · see citing works
Hard-to-answer questions about code
LaToza, T. D., & Myers, B. A. (2010) · Evaluation and Usability of Programming Languages and Tools · doi:10.1145/1937117.1937125 · Cited by 141 · see citing works
Self-citation
Flagged first, then by citations
Cited by
Sorted by citations
Managing Messes in Computational Notebooks
Head, A., Hohman, F., Barik, T., Drucker, S. M., & DeLine, R. (2019) · Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems · doi:10.1145/3290605.3300500 · Cited by 165 · see citing works
In-IDE Code Generation from Natural Language: Promise and Challenges
Xu, F. F., Vasilescu, B., & Neubig, G. (2022) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3487569 · Cited by 154 · see citing works
“Myers and Stylos [82] discusses API designers should consider usability as a step towards enabling end-user programming.”
BackgroundInfluentialJiang, E., Toh, E., Molina, A., Olson, K., Kayacik, C., Donsbach, A., Cai, C. J., & Terry, M. (2022) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/3491102.3501870 · Cited by 79 · see citing works
Vibe coding: programming through conversation with artificial intelligence
Sarkar, A., & Drosos, I. (2025) · arXiv · doi:10.48550/arxiv.2506.23253 · Cited by 11 · see citing works
“This suggests that even when not strictly in an exploratory programming setting (Kery and Myers, 2017), vibe coding is accommodating of an exploratory element.”
- Authors
- Beth Kery, M., & Myers, B. A.
- Affiliations
- Carnegie Mellon University (US)
- ORCID
- Myers, Brad A.
- Venue
- 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
- Publisher
- IEEE
- Published
- 2017-10
- Pages
- 25-29
- ISSN
- 1943-6092 (ISSN-L)
- OpenAlex
- W2768736423
- Cited by
- 123
- References
- 3
- Citations by year
- 2026: 13 · 2025: 16 · 2024: 15 · 2023: 21 · 2022: 19 · 2021: 17 · 2020: 13 · 2019: 7 · 2018: 2
- FWCI
- 5.55
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (publishedVersion)
- Topics
- Physical Sciences › Computer Science › Computer Science Applications › Teaching and Learning Programming
- Physical Sciences › Computer Science › Software › Spreadsheets and End-User Computing
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Keywords
- exploratory programming, code quality, prototype development, learning through play, digital art, data science, end-user programming
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review