A Virginia Tech College of Engineering researcher will use a five-year, $478,000 National Science Foundation Faculty Early Career Development (CAREER) award to help solve the ever-complex problem of debugging computer software.
Chao Wang, an assistant professor with the Virginia Tech Bradley Department of Electrical and Computer Engineering, says that detecting and repairing software defects, or bugs, are becoming extremely labor-intensive because of the rapidly increasing size and complexity of today’s software.
“The situation is exacerbated by the increasingly widespread use of multicore processors, or central processing units, whose computing power can only be unleashed by concurrent software,” Wang stated in his project proposal. “Automation of this bug detection and repair process promises to drastically reduce the time spent on debugging such systems, leading to more reliable and secure software as well as fully utilized parallel hardware.”
The CAREER grant is the National Science Foundation’s most prestigious award, given to creative junior faculty likely considered to become academic leaders of the future.
Wang’s research team at Virginia Tech will develop new theories and algorithms to find the most scalable and efficient means to detect, diagnose and repair bugs in large concurrent software, as well as optimizing the performance. For now, manually searching through thousands or even millions of lines of concurrent software code for bugs, or errors inadvertently written into the software during its creations, is akin to looking by hand for a knot not just in one massive ball of string, but multiple, interconnected balls of strings, each reliant on the other for being free of any such kinks. Wang said that in practice, “fixing one concurrency bug can take more than a month.”
Such software defects can significantly slow computer processing down, delay user productivity, or in the case of safety-critical embedded computing systems, create a potential hazard for users, if the product is released with the bug undetected. He cited several high-profile software glitches, including a bug that triggered the 2003 electrical blackout that spooked much of the northern United States and portions of Canada, as well the culprit behind faulty radiation therapy machines that resulted in several patient deaths.
“Detecting and repairing software defects is the most expensive part of the software development process, typically talking up more than 50 percent of the total development cost,” Wang said, citing a federal study. “Software bugs are costing the U.S. economy an estimated $59.5 million annually, or 0.6 percent of the national Gross Domestic Product.”
Wang said his research will seek to drastically improve the reliability and security of software used in these safety-critical systems, through innovations in automated concurrency debugging. “Automation promises to reduce the bug-detection and bug-fixing time from months or days to minutes or seconds, leading to more economical and reliable software, as well as better utilized parallel hardware,” he said.
Wang earned bachelor’s and master’s degrees from Peking University in China in 1996 and 1999 respectively, and then a doctoral degree from the University of Colorado at Boulder in 2004. From 2004 to 2011, he worked as a research staff member at NEC Laboratories Inc. in Princeton, N.J. He joined the Virginia Tech faculty in August 2011.