How To Find A Computer Bug In Self-Driving Car Software

Jan 3, 2017

Edge Case Research CEO Michael Wagner stands in front of a series of diagrams hung in the company's Lawrenceville office; they show how just a few lines of code can have a cascading complexity of connections.
Credit Mark Nootbaar / 90.5 FM WESA

It's annoying when your computer or phone freezes while you are checking Facebook. The exact same glitch happening to military weapon systems software, or the code behind a self-driving car, goes from annoying to incredibly dangerous.

That's where Lawrenceville-based Edge Case Research comes in, by providing automated robustness testing.

“We use artificial intelligence to figure out what a software module looks like and it comes up with all these interesting ways of attacking it,” said Michael Wagner, Edge Case CEO and cofounder. “Once we find a problem, we can report it back to the developers and we can get it fixed. That’s the ultimate goal. It’s not just to attack these systems — its to improve them.”

Wagner said too often developers run their code through a test that is designed only to make sure it works, not to look for ways to break it. Edge Case actively looks for vulnerabilities and tries to break it.

“There’s actually often a bias that we see where a developer will think that a certain scenario just won’t happen— ‘Oh, that bug you found will never occur in practice,’” Wagner said. “[But] if you have a little bit of gray hair, you realize that these things do occur.”

Edge Case was born out of research on defense projects at Carnegie Mellon University in the 1990s. Since then, Wagner has worked on debugging the software that runs autonomous cars.

“There are weird ways where [the bugs] occur… A lot of safety incidents occur after a failure has already happened and so things are already off nominal,” Wagner said. “So your understanding of the way the system works is already going to be wrong.”

By taking the code out of the car, robot or other device it’s running and placing it in a virtual world, Edge Case can run thousands of parallel tests in minutes, rather than weeks, and never put the hardware in jeopardy.

Google recently announced that it would begin running such tests on all of its open source software.

Wagner said one advantage of such testing is that it can dig deeply into every potential vulnerability.

“So you can kind of think of it like a game of Battle Ship. When you first find vulnerability... one of our algorithms that we use tries to examine every possible direction to figure out if it’s hit an aircraft carrier or a destroyer or whatever,” Wagner said.

Wagner says the goal is for his system is to eventually be able to offer suggestions on how to fix the problematic code. The company currently has about 20 clients. Most of them are small local startups, with which they work closely. Edge Case expects to roll out software in the first quarter of this year that will provide a more off–the-shelf process for software and product developers.

In this week's Tech Headlines:

  • The University of Pittsburgh’s Swanson School of Engineering has been chosen to be part of a new institute that will leverage a $70 million contribution by the U.S. Department of Energy as part of its Manufacturing USA network. The effort will be coordinated by the American Institute of Chemical Engineers. The goal is to increase domestic productivity and efficiency of various forms of energy by 20 percent over the next five years through improved manufacturing processes. Pitt will focus on natural gas. In addition, the Pitt team says it will tap into its industry partnerships to identify potential end uses and build a more knowledgeable workforce.
  • As Barack Obama began preparing to leave office, he ordered his team to upgrade the White House's aging technology infrastructure for his successor. New computers were purchased and faster internet was installed. President-elect Donald Trump, however, told reporters over the weekend that "no computer is safe" from hacking. He says the best way to deal with “something really important” is to “write it out and have it delivered by courier, the old-fashioned way." Trump reportedly rarely uses a computer. Trump does tweet, and incoming White House press secretary Sean Spicer says he expects Trump to continue using Twitter and other social media sites as president.