Unfolding State Changes via Live State-First DebuggingRemote
Common debugging techniques are execution-first, requiring programmers to probe into execution via print logging or breakpoints to inspect intermediate program states. To alleviate the tedium of execution probing, state-first debugging techniques reveal state changes without requiring logs or statement-level breakpoints. Both techniques, however, remain time-consuming and laborious due to the need to manually sift through log or debugger outputs, and even more so when the process must be repeated many times due to code edits. To overcome these limitations, we propose live state-first debugging, a live programming paradigm that directly shows programmers where their program state has changed and how those state changes relate to code, all without requiring any logging or breakpoints. We implemented this paradigm for web-based GUI applications in Unfold, which shows a timeline of changed UI states, the corresponding code that caused those changes, and automatic replays of prior user interaction traces after the code edits are saved. A preliminary user study (N=12) shows that live state-first debugging helps programmers locate some GUI application bugs faster, and that programmers deem the paradigm usable and helpful.
Mon 23 OctDisplayed time zone: Lisbon change
16:00 - 17:30 | |||
16:00 30mTalk | Unfolding State Changes via Live State-First DebuggingRemote LIVE Ruanqianqian (Lisa) Huang University of California, San Diego, Philip Guo University of California at San Diego, Sorin Lerner University of California at San Diego | ||
16:30 30mTalk | Lude - build video games quicklyRemote LIVE | ||
17:00 30mDay closing | LIVE 2023 Closing LIVE Jun Kato National Institute of Advanced Industrial Science and Technology (AIST), Peter van Hardenberg Ink & Switch |