Modern programs are so complex that bugs are pretty much unavoidable, but Microsoft is looking at ways of reducing coding errors as much as possible, including trialling an experimental approach that involves monitoring developers as they work.
The idea is to track eye movements and other mental and physical characteristics of the developers, in order to spot when their alertness levels drop or they are struggling with a task - which is when errors are most likely to creep into their work.
Microsoft researcher Andrew Begel co-authored a paper called Using Psycho-Physiological Measures to Assess Task Difficulty in Software Development which details this novel approach.
"My idea is that if the software developers are writing the code and causing the bugs, we should measure attributes of the developers themselves," Begal explains. "If we can figure out what cognitive or emotional issues lead to buggy code or lowered productivity, we can try to intervene and stop them from causing developers to make mistakes in the first place".
The researchers conducted a study of 15 professional developers to see if the idea was practical and the results were encouraging.
"We haven’t tried any interventions yet," Begel says, "but one I’ve thought about can help absent-minded developers, such as those who just came back from lunch and aren’t paying much attention to their code. If we reduce the contrast on the display and make the fonts harder to read, the developer will be forced to apply more brainpower to read and understand the code and will be less likely to slip up as a result".