HPCwire

Leading HPC
Solution Providers
HPCwire >> Off the Wire

Researchers Develop Intelligent Bug Detection Software


The task of debugging huge computer programs can be made faster and easier by using new software tools developed by programming experts at the University of Illinois at Urbana-Champaign.

Computer science professor Yuanyuan Zhou and her students have assembled a suite of software tools that can find and correct bugs by inferring the programmer's intentions. The tools draw from observations on how programmers write code.

"Most bug-detection tools require reproduction of bugs during execution," Zhou said. "The program is slowed down significantly and monitored by these tools, which watch for certain types of abnormal behavior. Most of our tools, however, work by only examining the source code for defects, requiring little effort from programmers."

Copy-pasted code, for example, often appears in large programs. While saving considerable programming effort, copy-pasted code can be the source of numerous bugs. Zhou's copy-paste tool, called CP-Miner, uses data-mining techniques to find copy-pasted code in the program and examine and correct that code for consistent modifications.

CP-Miner has found many bugs in the latest versions of large open-source software used in the information technology industry, Zhou said. CP-Miner is fast and efficient -- it can scan 3-4 million lines of code for copy-paste and related bugs in less than 30 minutes.

Large programs also tend to follow many implicit rules and assumptions, so Zhou and her students developed a related tool, called PR-Miner, to detect when those rules have been broken. Like CP-Miner, PR-Miner is based on data-mining techniques.

"First, we mine the source code for patterns, repetitions and correlations that point to implicit programming rules and assumptions," Zhou said. "Then we check that those rules and assumptions have not been violated."

PR-Miner also is very fast and has found many bugs in the latest open-source software. It takes PR-Miner only a few minutes to scan 4 million lines of code.

Not only are their efforts directed toward detecting, diagnosing and fixing bugs, Zhou and her students also are exploring techniques that allow software to survive in the presence of bugs. Rx, for example, is a recovery tool that allows software to survive by treating bugs like allergies.

"If you are allergic to cats, you try to avoid cats," Zhou said. "In much the same way, Rx is avoidance therapy for software failure. If the software fails, Rx rolls the program back to a recent checkpoint, and re-executes the program in a modified environment."

A fourth tool, called Triage, diagnoses software failures at the end-user site. Following a human-like diagnosis protocol, Triage rapidly identifies the nature of the problem and provides valuable input to help programmers quickly understand the failure and fix the bug.

"If something bad happens or the software crashes, Triage's diagnosis protocol will start automatically and quickly suggest a temporary fix until programmers can release a fixing patch," Zhou said.

In addition to being fast and efficient, Zhou's software tools are scalable and can be tailored for specific software programs, including programs running on parallel processors.

The work was funded by the National Science Foundation and the Intel Corp.

-----

Source: James Kloeppel, University of Illinois


Article Tools

  • Print This Article

Share & Save Options

Discussion

There are 0 discussion items posted.  



Feature Articles

The Week in Review

CRA policy blog provides analysis of NITRD oversight hearings; IBM releases open-source software stack for Linux clusters; and Dell plans HPC pilot program. John West recaps those stories and more in our weekly wrap-up.
Read More...

CEI: Turning Data Into Insight

CEI is a company on a mission to help you become intimately acquainted with your data. Its sole commercial offering, a visualization package called EnSight, is found in technical and computing organizations around the world. With a long history in the field, and a strong connection to the technical computing community, CEI is determined to keep doing what it feels it does best: that special alchemy that transforms raw data into insight.
Read More...

Intel Lifts the Curtain on Larrabee

In a press briefing on Friday, Intel representatives revealed some of the architectural details of the company's much talked-about Larrabee processor. The new design is the chipmaker's first manycore x86 platform and represents what could be described as a general-purpose, x86 vector processor, combining features from both GPUs and CPUs. The architecture is the culmination of more than three years of R&D accomplished under Intel's terascale research program.
Read More...

Top Headlines

Invisible Means of Support

Aug 08 | National Center for Computational Sciences | With the help of ORNL's Jaguar supercomputer, astrophysicists are simulating the dark matter that cradles galaxies. Read more...

When the Meteor and the 1PB Database Collide

Aug 08 | Computerworld | A 50-node compute cluster with a petabyte of storage is helping scientists track asteroids that could be headed for the Earth. Read more...

NFS Enters a Parallel Universe

Aug 08 | Enterprise Storage Forum | The network file system (NFS) protocol is getting its biggest overhaul in more than a decade, and the results could be profound for end users. Read more...

Identifying Opportunities

Aug 07 | Texas Advanced Computing Center | PNNL scientists are using the TACC Ranger supercomputer to process millions of images per second and achieving faster-than-real-time facial recognition. Read more...

Crossroads to Cancer

Aug 06 | Pittsburgh Supercomputing Center | With a one-two punch of computation and lab work, University of Maryland researchers using PSC resources have identified compounds that inhibit pathways to cancer. Read more...

Featured Whitepapers

Foundry High Performance Computing Application Note

Aug 01 | | The intent of this document is to provide an overview of Foundry Networks products that support high end HPCC configurations.

Improving Performance and Manageability for Seismic Processing and Imaging Applications with Parallel Storage

Jun 05 | | As pressure increases on the upstream seismic processing community to deliver ever-higher levels of productivity and efficiency, a new generation of storage solutions will be required that allow the maximum utilisation of high-performance computing (HPC) Linux cluster resources, together with the minimum of management overhead.

Multimedia

Podcast: Interview with Ben Bennett of ClearSpeed Technology

Today, HPC organizations are requiring substantially more floating point performance to solve real-world problems. In this podcast, Ben Bennett, ClearSpeed General Manager, discusses how acceleration technology can improve the overall performance of standard x86-based systems...

ISC'08

Newsletters

Stay informed! Subscribe to HPCWire email Newsletters.

Get updates and insights on the High Productivity Computing industry delivered driectly to your inbox.






Featured Events

eTech
2008 HPC on Wall Street
Managing the Grid
EGEE 08
Harvard Summit 2008
SIFMA
2008 Virtualization Conference & Expo

HPC Job Bank