Abstract
Software programming is a complex and relatively recent human activity, involving the integration of mathematical, recursive thinking and language processing. The neural correlates of this recent human activity are still poorly understood. Error monitoring during this type of task, requiring the integration of language, logical symbol manipulation and other mathematical skills, is particularly challenging. We therefore aimed to investigate the neural correlates of decision-making during source code understanding and mental manipulation in professional participants with high expertise. The present fMRI study directly addressed error monitoring during source code comprehension, expert bug detection and decision-making. We used C code, which triggers the same sort of processing irrespective of the native language of the programmer. We discovered a distinct role for the insula in bug monitoring and detection and a novel connectivity pattern that goes beyond the expected activation pattern evoked by source code understanding in semantic language and mathematical processing regions. Importantly, insula activity levels were critically related to the quality of error detection, involving intuition, as signalled by reported initial bug suspicion, prior to final decision and bug detection. Activity in this salience network (SN) region evoked by bug suspicion was predictive of bug detection precision, suggesting that it encodes the quality of the behavioral evidence. Connectivity analysis provided evidence for top-down circuit “reutilization” stemming from anterior cingulate cortex (BA32), a core region in the SN that evolved for complex error monitoring such as required for this type of recent human activity. Cingulate (BA32) and anterolateral (BA10) frontal regions causally modulated decision processes in the insula, which in turn was related to activity of math processing regions in early parietal cortex. In other words, earlier brain regions used during evolution for other functions seem to be reutilized in a top-down manner for a new complex function, in an analogous manner as described for other cultural creations such as reading and literacy.
Highlights
Software programming is a complex and phylogenetically very recent human activity, even more than reading and Electronic supplementary material The online version of this article contains supplementary material, which is available to authorized users.From a practical point of view this human ability is at the basis of one of the biggest industry sectors in the world: the software development industry, where error monitoring is critical
We performed an area-ofinterest (AOI) analysis defined for the code lines with bugs during source code inspection and the suspicion and bug detection moments
We found that the activity in this insular region at the suspicion event is positively correlated with the precision performance of our group of experts suggesting that it encodes the quality of the evidence
Summary
From a practical point of view this human ability is at the basis of one of the biggest industry sectors in the world: the software development industry, where error monitoring is critical. A large share of IT failures results from software faults (usually known as bugs), which are the consequence of human errors in the software development process (Christmansson and Chillarege 1996; Duraes and Madeira 2006; Natella et al 2013) With the huge dependency of our society on IT and software, bad quality software caused by residual bugs represent one of the most enduring and difficult technical challenges
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have