Technology Review - Published By MIT
Advertisement
TR35

2008 Young Innovator

Seth Hallem, 28

Coverity

Deconstructing software to find bugs

Credit: Coverity
Multimedia
See images of Hallem’s Prevent software and learn how it works.
Full Version
(3.86 Mb)
For the best viewing experience you will need Adobe Reader 9.
Click here to install Adobe Reader 9 on your computer.
Click here for a sample TR35 2008 PDF Portfolio, along with navigation tips.

PROBLEM: Programmers, despite their best efforts, make errors, any one of which could cause a system to crash or admit an attacker. Although automated test programs have improved software, major bugs still slip through, costing businesses and governments billions of dollars each year.

SOLUTION: As a graduate student at Stanford, Seth Hallem perfected an improved approach to finding bugs, called static analysis. Where ordinary test software runs a program and hopes to stumble on errors, static analysis breaks it into pieces that perform discrete functions, such as "add the results of lines 42 to 47." The computer determines what each piece does and then simulates how various functions might interact, looking for problematic combinations.

Previous attempts at static analysis were either too simplistic to find important bugs or too comprehensive to ever finish the job. Hallem developed algorithms to weed out redundant analysis and examine only the most important combinations, allowing millions of lines of code to be examined quickly and effectively. He cofounded Coverity in San Francisco to apply the technology commercially. More than 450 customers, including Raytheon and Yahoo, use Coverity's tools to vet their software. --Neil Savage

 
 
TR35 Back to all TR35 2008 Winners   TR35 2008 Infotech Winners     
Blaise Agüera y Arcas
Building immersive 3-D environments
Andrew Ng
Building household robots
Dries Buytaert
Simple, flexible Web publishing
Jenova Chen
Gaming with the flow
Tanzeem Choudhury
Inferring social networks automatically

Jack Dorsey
Personal updates made simple
Stefanus Du Toit
Programming for parallel processors
Seth Hallem
Deconstructing software to find bugs
Xian-Sheng Hua
Enhancing video search
Sundar Iyer
Making memory at Internet speed
Farinaz Koushanfar
Locking microchips to prevent piracy
Johnny Lee
Streamlining human-computer interactions
Meredith Ringel Morris
Searching websites jointly
Adam Smith
Making sense of e-mail madness
JB Straubel
Engineering electric sports cars

Eric Wilhelm
Putting DIY projects online
Robert Wood
Building robotic flies

Comments

Advertisement
MIT Massachusetts Institute of Technology © 2009 Technology Review. All Rights Reserved.