LIVE: Empirical Studies on the Effects of Liveness on Programming
Final Report Abstract
Liveness in programming tools is the impression of changing a program while it is running. Various tools support liveness, including commercial programming systems, such as MS Excel and Jupyter Notebooks. Tool designers assume that liveness improves the programming experience, but this assumption has insufficient and inconclusive empirical backing. This lack of evidence might lead to the promotion of liveness in unsuitable settings and the neglect of important settings, which would waste design and implementation efforts. In this project, we investigated the effects of live tools on debugging. In two controlled experiments we studied the influence of task complexity and delayed interactions on the effects of live tools. Compared to previous experiments on liveness, the participants in our experiments had considerable experience with live tools. In our first experiment we tested whether the influence of live tools on debugging time differs for simple and complex tasks. We found that live tools significantly shorten the time needed to debug defects. At the same time, we could not confirm our main hypothesis that task complexity moderates this effect. However, our results indicate that task complexity indeed influences the effect, but less than suggested by the pilot. For programming tool researchers and designers, our results show that programmers can benefit from live tools, but that they need to consider task complexity and participants’ experience with liveness when preparing studies or building tools. With our second experiment, we aimed to better understand the first experiment’s observations. Based on Information Foraging Theory, we assumed that live tools reduce the perceived cost of obtaining dynamic information so that programmers consult it more often when helpful. Therefore, we tested whether programmers use live tools less frequently if access to them is delayed. The experiment did not yield sufficiently enough results for a thorough analysis, but the collected data shows no clear decline in live tool usage. Yet, an ongoing post hoc analysis using edit-run cycles suggests that participants’ workflows changed. During the first experiment, we found that it is a great challenge to operationalize the complexity of maintenance tasks in programming tool studies. Thus, we conducted a survey to curate a collection of factors from related studies that can help shape the complexity of such tasks. With this collection, researchers can deliberately decide on the complexity level for their studies’ tasks. This project also resulted in a novel concept for teaching debugging through contests and improved setups for related studies on liveness conducted in our group.
Publications
-
Competitive Debugging: Toward Contests Promoting Debugging as a Skill. Proceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, 172-184. ACM.
Rein, Patrick; Beckmann, Tom; Geier, Leonard; Mattis, Toni & Hirschfeld, Robert
-
Example Mining. Companion Proceedings of the 6th International Conference on the Art, Science, and Engineering of Programming, 60-66. ACM.
Krebs, Eva; Rein, Patrick & Hirschfeld, Robert
-
Materials for Conducting Debugging Contests
Rein, Beckmann, Geier, Mattis & Hirschfeld
-
Toward Understanding Task Complexity in Maintenance-Based Studies of Programming Tools. In: Proceedings of the International Workshop on Programming Experience (PX/22) 2022
Rein, Beckmann, Mattis & Hirschfeld
-
Dataset for Too Simple? Notions of Task Complexity used in Maintenance-based Studies of Programming Tools. Version 1.0
Rein, Beckmann, Krebs, Mattis & Hirschfeld
-
StarTrack. Version 0.8.0
Rein & Hirschfeld
-
Structured Editing for All: Deriving Usable Structured Editors from Grammars. Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems, 1-16. ACM.
Beckmann, Tom; Rein, Patrick; Ramson, Stefan; Bergsiek, Joana & Hirschfeld, Robert
-
Too Simple? Notions of Task Complexity used in Maintenance-based Studies of Programming Tools. 2023 IEEE/ACM 31st International Conference on Program Comprehension (ICPC), 254-265. IEEE.
Rein, Patrick; Beckmann, Tom; Krebs, Eva; Mattis, Toni & Hirschfeld, Robert
-
Toward Studying Example-Based Live Programming in CS/SE Education. Proceedings of the 2nd ACM SIGPLAN International Workshop on Programming Abstractions and Interactive Notations, Tools, and Environments, 17-24. ACM.
Krebs, Eva; Mattis, Toni; Rein, Patrick & Hirschfeld, Robert
-
Artifact for Does Task Complexity Moderate the Benefits of Liveness? - A Controlled Experiment. Version 1.0
Rein, Ramson, Beckmann & Hirschfeld
-
Broadening the View of Live Programmers. The Art, Science, and Engineering of Programming, 8(3).
Rein, Patrick; Flach, Christian; Ramson, Stefan; Krebs, Eva & Hirschfeld, Robert
-
Does Task Complexity Moderate the Benefits of Liveness? A Controlled Experiment. The Art, Science, and Engineering of Programming, 9(1).
Rein, Patrick; Ramson, Stefan; Beckmann, Tom & Hirschfeld, Robert
-
MµSE: Supporting Exploration of Software-Hardware Interactions Through Examples. Proceedings of the CHI Conference on Human Factors in Computing Systems, 1-16. ACM.
Methfessel, Paul; Beckmann, Tom; Rein, Patrick; Ramson, Stefan & Hirschfeld, Robert
-
SpecTacles: Supporting Control Flow Comprehension of Software Developers in TLA+. 2024 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), 15, 174-186. IEEE.
Stachnik, Daniel; Beckmann, Tom; Rein, Patrick & Hirschfeld, Robert
