Objectively Measure Developers’ Cognitive Activities: Code, Biases, and Brains
Understanding how developers carry out computer science activities can help to improve software engineering productivity and guide the use and development of supporting tools and environments. Previous studies have explored how programmers conduct computing activities, such as code comprehension, but they rely on traditional survey instruments, which may not be reliable in all contexts. Advances in medical imaging and eye-tracking have recently been applied to software engineering, paving the way for grounded neurobiological understanding of fundamental cognitive processes involved therein.
In this talk, I will present three of my studies spanning software engineering and cognitive science using multiple modalities (fMRI, fNIRS, and eye-tracking), and discuss the implications. First, I will introduce the examination of the relationship between data structure manipulations and spatial ability, as well as how we adapt medical imaging approaches to software engineering. Then, I will discuss the investigation of cognitive processes in higher level, more semantically-rich and industry-related activities including code writing and code review. This work is among the first that leverages various objective measures to provide a systematic solution for understanding user cognition in programming activities. It also shows potential for broad impact in CS pedagogy, technology transfer, and broadening participation. Lastly, I will discuss my ongoing and future research directions.
Host: Diana Franklin
Yu Huang is a PhD candidate in the Department of Computer Science and Engineering at the University of Michigan, advised by Prof. Westley Weimer. Her research expertise lies in the intersection of software engineering and human factors. Her work spans software, hardware and embedded systems, medical imaging, open source software, and mobile sensing, collaborating with researchers from Psychology and Neuroscience. She is particularly interested in improving software activities and developers' behaviors, and making programming easier. Yu Huang has received multiple grants to support both her research and her efforts to improve diversity in computer science. Her work has resulted in over 20 peer-reviewed publications including an ACM SIGSOFT distinguished paper award, and has been covered in multiple media outlets, including the 2020 GitHub Octoverse Report.