海角社区

CAREER award funds faculty's mission to modernize debugging

In This Story

People Mentioned in This Story
Body

When he was growing up,  associate professor 鈥檚 family dinner table conversations often involved discussions about software development. His parents, both professional software developers, shared the practical problems they faced in their day-to-day work. Years later, LaToza received a National Science Foundation CAREER award to combat those problems his parents and other software developers encounter. 

The goal of LaToza鈥檚 award, 鈥淐AREER: SHF: Debugging Mental Models,鈥 is to help software developers find solutions to bugs they face in their systems. 鈥淲hen something doesn鈥檛 work, a button, a login page, etc., there is a lot of investigative work where a developer is hypothesizing why is one component or another not doing what it should do,鈥 says LaToza. 

But this process is often challenging, says LaToza, because while there are finite potential hypotheses, finding the right one can feel like a shot in the dark. To combat this, LaToza and his team are developing a programming tool that is a repository for potential hypotheses to different software problems. In addition, they are sourcing these hypotheses from experienced developers and developing new algorithms to find and test a solution鈥檚 relevance to a problem. 

Part of his work initially focused on gathering evidence that these struggles are still prevalent for software developers. 鈥淎bout 30 to 40 years ago, the mentality was that software development was so hard that developers spent about 40 percent of their time simply fixing problems. So, we ran a study watching current open-source developers work, and we found that the amount of time they spent fixing problems really hasn鈥檛 changed,鈥 says LaToza. 

LaToza鈥檚 tool will cut down on the time it takes to find the solutions to software problems, making software developers more effective. 鈥淥ne of the issues is that knowledge is very specific. Even if you are an experienced developer, software grows and changes, and you could be faced with a component you haven鈥檛 worked with before and don鈥檛 know how to fix when something goes wrong,鈥 he says. 

The dinner table conversations weren鈥檛 the only thing that inspired LaToza. He has always been interested in designing technologies and systems that help humans address complicated tasks. 鈥淢y background is part computer science and part psychology. In my psychology studies, I spent a lot of time studying how people think about solving a problem,鈥 he says. And as computers become more powerful, he wants to ensure that new technologies are actually helping humans in this process. 

鈥淪oftware development, and especially software debugging, is no less vexing a problem for today鈥檚 developers than it was for Thomas鈥檚 parents,鈥 says Department of Computer Science chair . 鈥淲ith his unique insights into both the engineering aspects and human aspects of software development, Thomas鈥檚 research promises to produce a novel tool for efficiently capturing and applying the expert knowledge developers employ as they tackle complex debugging tasks.鈥