Despite its vast capacity and associative powers, the human brain doesnot deal well with interruptions. Particularly in situations whereinformation density is high, such as during a programming task,recovering from an interruption requires extensive time and effort.Although researchers recognize this problem, no programming tool takesinto account the brain's structure and limitations in its design. Inthis dissertation, I describe my research collecting evidence about the impactof interruptions on programmers, understanding how programmers managethem in practice, and designing tools that can support interruptedprogrammers. I present a conceptual framework for understanding humanmemory organization and its strengths and weaknesses, particularlywith respect to dealing with work interruptions. The frameworkexplains empirical results obtained from experiments in whichprogrammers were interrupted. For researchers, the intent is to use the framework to design developmenttools capable of compensating for human memory limitations.For developers, the insights and strategies from the framework shouldallow reflection on our own programming habits and work practices andhow they may be tailored to better fit our human brain.The framework is evaluated by conducting two experiments that find that 1) developers can recall nearly twice as many past programming events using a tool designed with the framework over traditional tools, with comparable recall effort and 2) developers can remember to perform nearly twice as many prospective actions using a tool designed with the framework over traditional tools, with limited impact to cognitive load.
【 预 览 】
附件列表
Files
Size
Format
View
Supporting interrupted programming tasks with memory-based aids