Yuriy Brun receives NSF CAREER award to improve software quality

Assistant Professor Yuriy Brun received a five-year National Science Foundation (NSF) Faculty Early Career Development (CAREER) award for the project "Improving Software Quality using Dynamically Inferred Models."

"Software has become an integral part of our society and it is hard to imagine many aspects of our lives, including the economy, healthcare, and communication, functioning without software," said Brun. "However, software is rarely perfect and software defects can have serious consequences, such as security breaches and the compromise of private information."

While these high costs of defects are well known, the software industry has been unable to remedy the problem because the inherent complexity of software is so high that even the best, most careful developers still make mistakes. As a result, defects are not only common, but new defects are typically reported faster than developers can fix them. This makes the problem of improving software quality one of the most critical challenges facing our society today, noted Brun. It is this challenge that is the central goal of Brun's CAREER grant. He will develop techniques and tools that help developers understand the complex software behavior and the behavioral implications of software changes. These techniques and tools aim to improve the quality of software by helping developers do their jobs better and make fewer mistakes. Improving software quality in this way will reduce the negative effects of buggy software, thus positively affecting the many aspects of society that rely on software.

One significant cause of defects and poor software quality is the inconsistency between what developers think their system does, and what the system actually does. Brun's project focuses on reducing this inconsistency by helping developers visualize, explore, and understand the runtime behavior of their systems, and how the behavior changes when the developers change the code. "Today, common ways to reduce this inconsistency are to study the source code directly, to observe executions via a runtime debugger, and to instrument key locations in the code and use logging to peek into an implementation's runtime behavior," added Brun. "But these processes are highly manual and labor intensive, and often force the developer to think of a single execution at a time, rather than consider the system behavior as a whole." Instead, his project creates techniques and tools that help developers reduce this inconsistency by inferring precise, concise, predictive behavioral models from system execution logs, aiding developers in comprehension and debugging tasks by comparing, visualizing, and querying such models, and generating tests from such models.

Brun joined the School of Computer Science in 2012. He was previously a Computing Innovation postdoctoral fellow at the University of Washington, funded by an NSF grant to the Computing Research Association.  He received a PhD in Computer Science from the University of Southern California in 2008, as an Andrew Viterbi fellow, and an M.Eng. in Electrical Engineering and Computer Science from MIT in 2003.  Brun received one of twelve 2014 Microsoft Research Awards from the Software Engineering Innovation Foundation, and a 2013 IEEE TCSC Young Achievers in Scalable Computing Award, which recognizes individuals who have made outstanding, influential, and potentially long-lasting contributions in the field of scalable computing within 5 years of receiving their PhD degree.

The CAREER Program is a Foundation-wide activity that offers the National Science Foundation's most prestigious awards in support of junior faculty who exemplify the role of teacher-scholars through outstanding research, excellent education, and the integration of education and research. Such activities build a firm foundation for a lifetime of leadership in integrating education and research.