Programming interaction usually involves specifying causal relationships such as input events triggering a state change or the propagation of values. Such code may reside in several locations and its execution is driven by multiple causal chains, which hinders the programmer’s ability to understand and fix it. We designed Causette, a set of four novel interaction techniques for a code editor. They consist in rearranging causal constructs on demand to make the code representation consistent with the causal chain being analyzed by the user. We ran an experiment showing that Causette may be more usable than a regular editor for some code understanding tasks. This work suggests that rearranging interaction code may help developers better understand and fix it.
Causette: User-Controlled Rearrangement of Causal Constructs in a Code Editor (icpc22 (4).pdf)