Sharif eyes how to help software developers write better code
Using the latest advances in eye-tracking technology, University of Nebraska-Lincoln computer scientist Bonita Sharif is analyzing how software programmers work in order to develop tools that help them write code better and faster.
“Right now, the eye tracker is as close as we can get to how people actually think. So it helps us understand the thought process of what people are doing without asking them,” said Sharif, assistant professor of computer science and engineering. “By tracking what developers do while they’re doing it, we can improve the software development process itself.”
When programmers receive a software bug report or are tasked with improving a feature, they typically must search through thousands of lines of code in multiple source files to find what they need. And reading code isn’t an orderly top-down, left-to-right progression, like reading English text with subheadings.
Eye-tracking software allows Sharif to map exactly where coders look as they zero in on their targets. With the information, she’s creating algorithms that analyze the eye movements and put the data to use, supporting programmers in their work.
One tool will show developers where to look for a bug or feature based on where people have previously searched for similar code, pointing the way to the most likely spot to tackle their task. Another tool will automatically create links to the recommended code.
Programmers create English summaries of the code to help orient others. By analyzing the eye movements of experienced programmers as they create summaries, Sharif’s algorithms will be able to automatically generate a summary for them.
In addition to supporting established programmers, Sharif said her tools will help beginning coders and students learn more quickly.
“We see a huge difference between experts and novices,” she said. “The experts know exactly where they have to go. In the classroom of the future, we could show students an expert’s eye movements as they read code.”
Though that capability isn’t yet available to guide students, Sharif will use eye-tracking software in coding workshops she’s planning for Nebraska school-age children next summer to introduce them to the technology. Eye-tracking software will become standard for programmers within the next decade, she said.
Sharif’s research and workshops are funded with a $432,000 Faculty Early Career Development Program award from the National Science Foundation, the prestigious award given to outstanding pre-tenure faculty. Sharif received her CAREER award as a faculty member at Youngstown State University in Ohio and is continuing her work at Nebraska.
Sharif also is part of a multi-institutional team that’s advancing eye-tracking software to allow monitoring eye movements as people scroll through moving text, rather than requiring a fixed, non-moving word or visual. Because of the way software developers read code, that capability is crucial to understanding how they work, Sharif said. The research, which Sharif is incorporating into her CAREER project, is funded through an NSF Community Research Infrastructure grant.