Select your localized edition:

Close ×

More Ways to Connect

Discover one of our 28 local entrepreneurial communities »

Be the first to know as we launch in new countries and markets around the globe.

Interested in bringing MIT Technology Review to your local market?

MIT Technology ReviewMIT Technology Review - logo


Now Available: Innovators Under 35 2013 See The 2013 List »

Andrey Rybalchenko, 32

Stopping software from getting stuck in loops

Technical University of Munich

Computer scientist Andrey Rybalchenko has developed a new method for finding software bugs. Traditional automated testing systems detect when programs do "bad things" that lead to crashes, forcing the program to quit. By focusing on crashes, however, such testing often misses a significant class of bugs--those that allow the software to keep running but leave it unable to accept new input or do anything useful. In essence, Rybalchenko instead tries to identify when a program is doing "good things," such as making progress through loops or responding to other programs.

In a collaboration with Microsoft that began in 2006, Rybalchenko incorporated his methods into Terminator, a commercial program used to find bugs in the device drivers that mediate between an operating system and various pieces of hardware. Countless device drivers have been created by third-party developers, and they are often responsible for software failures that users blame on the OS. So detecting these bugs improves both actual and perceived OS reliability.

Rybalchenko is currently seeking ways to detect similar bugs that can appear when many processors work simultaneously on the same task but fail to coördinate properly and begin competing instead. Now that processor speed has plateaued at a little over three gigahertz, this kind of problem will become more and more significant as manufacturers turn to multicore systems to continue improving performance. ​--Giselle Weiss

2010 TR35 Winners

Aaron Dollar (video)

Creating flexible robotic hands

Rikin Gandhi

Educating farmers through locally produced video

Kim Hazelwood

Reëngineering software on the fly

Indrani Medhi

Building interfaces for the illiterate

Andrey Rybalchenko

Stopping software from getting stuck in loops

T. Scott Saponas

Detecting complex gestures with an armband interface

Jian Sun

Better image searches

Richard Tibbetts

Reacting to large amounts of data in real time


More Innovators Under 35: