Abstract

Event Abstract Back to Event Understanding Programmers' Brains with fMRI Janet Siegmund1*, Christian Kästner2, Sven Apel1, Chris Parnin3, Anja Bethmann4 and Andre Brechmann4 1 University of Passau, Germany 2 Carnegie Mellon University, United States 3 Georgia Institute of Technology, United States 4 Leibniz Institute for Neurobiology, Germany The human factor plays an important role in software engineering, because humans design, implement, and maintain software. One of the most important cognitive processes is program comprehension, because programmers spend most of their time with understanding source code [3,4,5]. However, despite of more than 30 years of research, we still have no clear understanding of the relevant processes during comprehending source code. To gain a deeper understanding of program comprehension, we measured it by using functional magnetic resonance imaging (fMRI) [2] since fMRI has proved successful to study comparatively complex cognitive processes in detail. Our hope is that in the process of understanding developer's cognition, we can create a platform for sharing how these complex processes map onto other studies of cognition, and even incorporate ideas for organizing software into models of cognitive processes. In our study, we designed several short source-code snippets and asked computer-science students to determine the output if the source code would be executed (see Fig. 2 or project's website (tinyurl.com/ProgramComprehensionAndfMRI/) for examples). As control condition, we let participants locate syntax errors that did not require understanding the source code (Fig. 3). After testing and refining the source-code snippets in behavioral pilot studies [1], we carried out the measurements with 17 participants on a 3~Tesla scanner. For fMRI, we acquired 985 functional volumes in 32 minutes and 50 seconds using standard echo planar imaging (EPI) sequence with whole brain coverage at an isotropic resolution of 3 mm. Functional data were analyzed in BrainVoyager employing a random effects GLM contrasting the program comprehension condition against the syntax condition. We found Brodmann areas 6, 21, 40, 44, and 47 are activated during program comprehension (Fig. 1). These areas are related to language processing, working memory, and problem solving, which is in line with the current understanding of program comprehension. The results of our study suggest that fMRI is promising to give us a more detailed understanding of program comprehension. Over the next years, we hope that more researchers will adopt our idea. By raising the awareness of how fMRI can be applied to software-engineering research, we also hope that more software engineers will contribute to develop more powerful fMRI paradigms. In the long run, we will gain a better understanding of the neural basis of designing, implementing, and maintaining software, which may in turn help to optimize tools or programming languages. Additionally, our research will have a broad impact on education, so that training beginning programmers can be improved considerably. Despite intensive research (e.g., Technical Symposium on Computer Science Education, Innovation and Technology in Computer Science Education), it is still rather unclear how and why students struggle with learning programming. With a detailed understanding of the cognitive processes that underlie a developers' every-day task, we might find the right recipe to teach any student to become an excellent software developer (e.g., by including training language skills, since our study showed a close relationship to language processing). As next steps, we will conduct more such experiments. To support replication and help other software-engineering researchers adopt fMRI for their research, we will make all data publicly available. Eventually, we hope to find answers to heatedly discussed questions, such as ``How should we teach programming?'' or ``What makes a programmer excellent?''. Figure 1 Figure 2 Figure 3 Acknowledgements Thanks to Thomas Leich and Gunter Saake for fruitful discussions.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.