• Ei tuloksia

Yliopistokatu 2. P.O. Box 111 FI-80101 Joensuu, Finland

paul.a.orlov@gmail.com ABSTRACT

In this paper, I describe the reading process of source code. By analyzing gaze data during code reading processes, were defined eye-movement patterns which are essential part of programming comprehension. Software Visual Evaluation Tool (VETool) was developed for visual evaluation of eye-tracking data and renders.

Two general patterns of eye-movements were found. The Jump Control pattern was at the beginning for both subjects. And for second subject was normal to use the Line Scan pattern.

Categories and Subject Descriptors

D.3.3 [Programming Languages]: Language Constructs and Features – abstract data types, classes and objects, control structures. H.5.2 [User Interfaces] : Interaction styles, Theory and methods.

General Terms

Human Factors, Measurement, Languages.

Keywords

Eye-tracking, source code reading, data visualization, pattern, strategy.

1. INTRODUCTION

The analysis of eye - movements is used for understanding of human behavior and different psychological aspects. In his basic work Yarbus describes, that eye-movement patterns and vision strategy depend on the task (Yarbus, 1965). His thesis actual not only for strong visual tasks like visual searching or reading. More abstract tasks also determined visual strategy. For example, when experimenter gives first task about age evaluation of the person and second task about evaluation of emotional conditions of the person on picture. In that two tasks both visual strategy and eye-movements patterns are different.

The measurements of eye movements are very common for understanding of humans activity, visual information processing and comprehension of objective reality. And the problem is how to interpreted eye movements. In psychology of programming (PoP) eye-movements patterns mostly corresponds with the meaning of stimuli. It means that we should assume, that if subject look at the source code element, like variable definition, he should think about this variable. This hypothesis plays vital role if we try to understand mental process through eye-movements, for example, source code comprehension.

2. OBSERVATIONS AND INTERPRETATIONS

In two video renders subjects have to understand a Java program and to answer questions about them. Eye movements (gaze fixation, saccades and gaze path ) were visualized for evaluation.

Both participants are experts in programming. First part of task context was the instruction. How often programmers should answer questions about source code in real live? The physical experiment context rebuild usual Integrated Development Environments (IDE) view, size, colors and formatting of source code. In definition of “task” we have to agree that current conditions relevant only for laboratory study.

For visual evaluations were used ELAN software and were build new software tool for dynamic visualization of ELAN and eye-tracking data Visual Evaluation Tool (VETool). VETool is an open source software. Source code of VETool can be found here:

https://bitbucket.org/orlovpa/visual-evaluation-tool-vetool .

2.1 Comparing by “primitive” events

2.1.1 Attributes (Block), Type (Signature annotations), Formal Parameter List (Signature annotations), Name (Signature annotations) Both subjects looks at these elements at the beginning of reading and rarely after middle of total time. First points of fixation are in the physical center of stimuli, but then, both subjects moves their gaze to class attributes. Also duration of looking at class attributes and at the name of signature are quite same. Times for each block are different.

Attributes and Type elements are shown on Figure 1.

2.1.2 Constructor

Similar situation could be found in duration of seeing on Constructor block. For this block of source code there are two activity intervals: at the 5 sec (at the beginning) and at 25 - 40 sec.

First subject looks more often back to this block than second one.

Constructor element shown on Figure 2.

2.1.3 Area

Participants look at this block first time at about 20 sec and then, they back to this block once or twice.

2.1.4 Width

This block shows different looking times and in different time intervals. First subject backs here several times for about 1 sec each. Second subject looks here twice and first time quite long.

But total time of looking on this block could be similar.

Workshop at the 13th KOLI CALLING INTERNATIONAL CONFERENCE ON COMPUTING EDUCATION RESEARCH.

Joensuu, Finland, November 13th - November 14th, 2013

2.1.5 Main (Block), Body (Sub-Block), Actual Parameter List and Names (Method calls) and Method returns element.

The Main block is the popular for looking for both subjects. And the similarity is in the interval of seeing, both subject looking here from the middle time. They spend at this block much time (more

than 20 sec). In the Main block they look at Body sub-block and at method calls inside sub-block. That is why these three elements are very similar for total time and interval. All these blocks are interesting for subjects gaze after the middle of total spending time and at the end. Main element shown on Figure 3.

Figure 1: Time cyclogram for Attributes and Type elements.

Letter A shown first subject. Letter B shown second subject.

Figure 2: Time cyclogram for Constructor element.

Letter A shown first subject. Letter B shown second subject.

21

In other “primitive” events I could not find any interesting moments. All of them are quite individual for participants.

2.2 Comparing by patterns

I found two general patterns that were used by subjects. The Jump Control pattern was at the beginning. This situation is the same for both subjects. And for second subject was normal to use the Line Scan pattern. One interesting moment could be the way of Line

Scan. There are reading from right to left also. This “back”

reading should not be the same with backwards saccades (regressions) in normal reading. Line scan patterns shown on Figure 4.

Figure 3: Time cyclogram for Main element.

Letter A shown first subject. Letter B shown second subject.

Figure 4: Time cyclogram for Line Scan pattern.

Letter A shown first subject. Letter B shown second subject.

3. INTERPRETATIONS AND DISCUSSION

In PoP eye-movements patterns should also depend on task. The term “task” should be given a definition. The task is a mental construction in humans mind that formed by instruction and context (Gippenreiter, 1978; Rayner, 1998). Humans can be instructed in different forms, like verbal or visual. Instructions comes from objective reality, but human does their interpretation through the individual context. Context can be influenced by subjective emotional factors, previous experience, social and physical factors (Muller et al., 2012). In PoP there are different aspects of context also, but numerous papers skips context (except studies with gaze controlled systems and gaze contingent systems).

Visual evaluation of these two eye-movements shows that there is not one significant picture. Even though subjects are both experts in programming, they have mostly different eye-movements patterns. Only at the beginning of reading (working) they have, may be, Jump Control, but then they go in individual ways. It seems, that it is necessary to take into consideration more factors to determine the context of the task.

Finally, if we would like to identify the Strategy, we have to go back to the Task definition. In current study subjects are expert in programming, and they decide (may be at first gaze fixation), what kind of strategy is necessary to use. If they got instruction like this: “There is a bug, find it!”, they will use different strategy.

Subjects were informed about the task, before they read the code.

Subject1 was told, that there will be a question about the return value of “rect2.area()” after the program was executed. And for subject2 the information was, that there will be a multiple-choice question about the algorithmic idea. So, they both use Program Flow and both try to not only understand, but remember this program to answer questions. Of course, that kind of task and problems in real professional life are not exactly the same.

This situation shows that there are so much interesting finding in this field of science in future!

4. ACKNOWLEDGMENTS

I thank all organizers ( Roman Bednarik, Teresa Busjahn &

Carsten Schulte) of Workshop at the 13th KOLI CALLING INTERNATIONAL CONFERENCE ON COMPUTING EDUCATION RESEARCH. I like to express profound gratitude to Teresa Busjahn for the idea to build such interesting materials for the workshop.

5. REFERENCES

[1] Gippenreiter, Y. B. (1978). Движения человеческого глаза [Movements of the human eye] (p. 256). Moscow: Изд-во Московского государственного университета.

[2] Muller, M. G., Kappas, A., & Olk, B. (2012). Perceiving press photography: a new integrative model, combining iconology with psychophysiological and eye-tracking methods. Visual Communication, 11(3), 307–328.

doi:10.1177/1470357212446410

[3] Rayner, K. (1998). Eye Movements in Reading and Information Processing : 20 Years of Research. Psychological Bulletin, 124(3), 372–422.

[4] Yarbus, A. L. (1965). Роль движений глаз в процессе зрения [Eye movements and vision]. (p. 173). Moscow: Изд-во “Наука.”

23

Finding Patterns and Strategies in Developers’ Eye