In the quest of understanding how software developers think during programming, an international team of scientists from Germany and the United States observed programmers going about their everyday task of program comprehension while lying inside a functional magnetic resonance imaging (fMRI) scanner. By measuring changes in the blood oxygen level in the brain, the fMRI scans allowed researchers to draw conclusions about which brain areas were active during the exercise. The study was conducted in close collaboration with fMRI experts from Leibniz Institute for Neurobiology in Magdeburg, Germany, and is the first of its kind in computer science and programming research. One of its key findings is that comprehending computer programs activates the same brain areas as understanding natural language.
“We now have first evidence that learning a programming language is closely related to learning a foreign language,” said Sven Apel. “Until now, scientific debates about the suitability of a particular programming language or method of programming education invariably relied on indirect observations and, as a result, always involved a certain amount of speculation.” In addition to providing insights into the way similar studies could be designed and carried out in the future, the study’s results show new ways of how programming education can be improved in the long term. “Our study opens the door to a whole new world of possibilities of making learning to program more intuitive, so as to inspire more people – particularly women and schoolchildren – to learn about this technical area,” Janet Siegmund explained.
The results of this research may even lead to the development of more refined software tools and programming languages that tie in with software developers’ natural way of thinking – and make them more efficient in their day-to-day work. “We hope that software will be less prone to errors in future, which will significantly reduce the cost of developing and maintaining software. Today, software maintenance costs – i.e. avoiding and fixing errors such as the notorious Heartbleed bug – account for up to 80% of the total costs incurred throughout the entire software lifecycle,” said Janet Siegmund.
As the challenges involved in this project could only be tackled by an interdisciplinary network of scientists, the team was comprised of a number of researchers working in various different disciplines and countries: Janet Siegmund and Sven Apel (University of Passau, Germany), André Brechmann and Anja Bethmann (Leibniz Institute for Neurobiology, Magdeburg, Germany), Christian Kästner (Carnegie Mellon University, USA), Chris Parnin (Georgia Institute of Technology, USA), Thomas Leich (Metop GmbH, Magdeburg, Germany), and Gunter Saake (University of Magdeburg, Germany).
“The idea for this project arose during a workshop of researchers from the University of Magdeburg and the Leibniz Institute for Neurobiology,” said Janet Siegmund. “I found working at the intersection between computer science, psychology, and neurobiology immediately very fascinating”. Janet Siegmund received her Ph.D. from the University of Magdeburg and joined the University of Passau’s Chair of Software Product Lines as a postdoctoral research fellow in August 2013. The Chair was established as part of the highly respected Heisenberg programme of the German Research Foundation (DFG). Following the publication of the results at the International Conference on Software Engineering, the leading international conference in its field, the research has received considerable attention from the international academic community, as it is the first study to provide solid evidence in an area that until now had to resort to indirect measures.
Link to the original study: http://www.infosun.fim.uni-passau.de/cl/publications/docs/SKA+14.pdf
For further information, contact Dr Janet Siegmund, Faculty of Computer Science and Mathematics, University of Passau (e-mail: siegmunjfim.uni-passau.de, phone: +49 851 509 3239) or the Media Relations Section of the University of Passau (phone: +49 851 509 1439).