Abstract:
Code being abstract makes it powerful, but it is also more difficult to understand. Developers will have to map abstract code descriptions to the behavior of concrete, running program instances. Additionally, as many IDEs have different views for code and the running program, constant context switches are required. Some environments offer live programming capabilities to reduce the amount of context switches, but often have limitations that will require program restarts or a context switch to another view. In my research, I want to explore notations, tools, and systems that bring the abstract and the concrete closer together. I am exploring systems that provide concrete feedback directly where it is needed, require fewer context switches between views, and remove some of the limitations of other live programming systems. With my thesis, I plan to contribute the design and implementation of these systems as well as insights into the feasibility of the concepts via case studies, holistic analysis, and user studies. In the long term, my aim is to enhance the programming experience of developers by removing accidental complexity.
PPIG 2026 - 37th Annual Workshop
Doctoral Consortium
From Abstract to Concrete: Programming the Running System via Direct Manipulation and Live Feedback