iTrace

Software developers work with many source code files but each of these files typically is comprised of thousands of lines of code. They constantly flip through multiple files while reading and debugging code. Current state-of-the-art eye tracking software works well on fixed stimuli such as images but does not support tracking of developer gazes on these semantically and syntactically rich source code artifacts. Since source code files are really large, we cannot feasibly draw AOIs around each element to map gaze data to those regions. iTrace, our eye tracking infrastructure solves these problems making it easier for one to get started on conducting eye tracking studies in software engineering and related fields.

Our Mission

Our mission is to provide an extensible eye tracking software infrastructure, iTrace, to support large-scale eye tracking empirical studies on software artifacts (such as source code, requirements, bug reports,…). iTrace connects the software application such as an IDE (Eclipse or Visual Studio) and/or the Google Chrome browser to an eye tracker and maps (x,y) coordinates of eye gaze to meaningful elements even in the presence of scrolling and file switching. The data can then be proceesed towards some functional goal based on what the user would like to accomplish with the data.

We work to deliver a high quality eye tracking software application to integrate with various integrated development environments and browsers. This application and all supporting tools will assist research into software developer habits and behavior.

How does iTrace work?

Once connected to a tracker and after a quick calibration, the developer is free to work within their development environment while iTrace captures gazes as they are doing the task. These gazes will be mapped to specific code elements via a post processing module. We designed iTrace with extensibility in mind. We support the adding of additional eye trackers.

What can iTrace do for you?

iTrace can be used by researchers, practitioners, and educators.

Researcher

Conduct large scale studies on program comprehension, bug fixing for example.

Practitioner

Become aware of your navigation strategies or bug fixing strategies on large code bases.

Educator

Learn how students read and understand realistic code projects (not just isolated small code snippets)

This work has been funded in part by the National Science Foundation under Grant Numbers CCF 1553573 and CNS 17-30307/30181. Email itracedev@gmail.com for additional questions.