This study is based on the work of Uwano, Nakamura, Monden and Matsumoto (2006) who tried to identify programmers’ eye movements in source code reviews by using eye tracking technology. The researchers were able to identify certain eye movement patterns but due to the technical limitations of earlier eye tracking systems and a small sample they could not find a valid proof for their existence. Now, twelve years later, the eye tracking technology has made significant improvements and is able to capture programmers’ reading behavior in an unobtrusive and precise way. Now the goal is to verify the described patterns by using eye tracking data from expert and novice programmers. In the experiment they have to detect errors in six different codes and take part in a retrospective interview. At the moment, data collections are ongoing. At the time of the conference, we will present the results of our analyses.
To investigate the role of heuristics in the domain of software engineering, an eye tracking study was conducted in which experts and novices were compared. The study focused on one of the most challenging parts in this domain: the generation of an object model for a software product based on a requirements specification. During their training, software engineers are taught different techniques to solve this task. One of these techniques is the noun/verb analysis.
However, it is still unclear to what extent novice and expert programmers are making use of it. Ideally, the noun/verb analysis works as a heuristic and helps programmers to make fast and accurate decisions. Participants in the study were 40 software programmers at four levels of expertise (novices, intermediates, experienced rogrammers, experts). They were presented with ten decision tasks. In each task, participants read a requirement specification and then had to choose one out of three presented class diagrams that they considered the best solution. During the task, their eye movements were recorded. Results show that all participants used the noun/verb analysis as a heuristic. Programmers with higher levels of expertise, however, outperformed programmers with lower levels of expertise. Interestingly, the more experienced programmers were not following the noun/verb analysis in a blindfolded way. They realised that the noun/verb analysis would produce diagrams, but a skilled software architect would not model them in this way. Instead they created their models in a way that they perceived as more logical and realistic