Programmer, Interrupted: Data, Brains, and Tools


March 21, 2014


Christopher Parnin


Georgia Institute of Technolog & Georgia Tech Research Institute


Despite its vast capacity and associative powers, the human brain does not deal well with interruptions. Particularly in situations where information 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 takes into account the brain’s structure and limitations in its design. In this talk, I describe my research collecting evidence about the impact of interruptions on programmers, understanding how programmers managed them in practice, and designing tools that can support interrupted programmers. I present a conceptual framework for understanding human memory organization and its strengths and weaknesses, particularly with respect to dealing with work interruptions. The framework explains empirical results obtained from experiments in which programmers were interrupted. For researchers, the intent is to use the framework to design development tools capable of compensating for human memory limitations. For developers, the insights and strategies from the framework should allow reflection on our own programming habits and work practices and how they may be tailored to better fit our human brain. Finally, I describe some initial results in using fMRI and EMG to further understand the programmer’s brain, with long-term impact in education, evaluation, and tool and language design.


Christopher Parnin

Chris Parnin is a Phd candidate in the Computer Science department at Georgia Institute of Technology and a Research Scientist II at the Georgia Tech Research Institute. His research spans the study of software engineering from empirical, HCI, and cognitive neuroscience perspectives. Two recent research topics include A) using fMRI and EMG to actually study the brain activity of developers and B) understanding how crowds of developers come together on sites such as Stack Overflow and Github to contribute software knowledge. He has worked in Human Interactions in Programming groups at Microsoft Research, performed field studies with ABB Research, and has over a decade of professional programming experience in the defense industry. Chris’s research has been recognized by the SIGSOFT Distinguished Paper Award at ICSE 2009, Best Paper Nominee at CHI 2010, Best Paper Award at ICPC 2012, IBM HVC Most Influential Paper Award 2013, featured in Game Developer’s Magazine, Hacker Monthly, and frequently discussed on Hacker News, Reddit, and Slashdot.