LONDON — With embedded software becoming ever-more complex, especially with the push toward more and more processing on chip for machine learning and IoT applications, the task of both ensuring code quality and debugging continues to take up a significant amount of product development time. But two ex-Acorn Computer engineers who founded a company that claims to have developed a record and replay technology for software debugging this week announced a $14 million Series B funding round to further develop the product and expand in the U.S.

Cambridge, U.K.-based Undo has developed a program execution capture and replay technology, allowing vendors of complex Linux applications to quickly diagnose severe software failures in test or in production and fix critical bugs that are impossible to reproduce (and, therefore, fix) by any other means. Undo’s solution supports C/C++ applications today and it plans to use part of the funding to expand its language support to include Java, Python, and others.

We met up with the firm’s CEO, Greg Law, just before he headed out to the DAC last month to get some perspective on what they’re doing with the EDA industry. He said, “The world is entering a new era where software is beginning to make decisions that underpin our lives, our livelihoods, and even western democracy itself; software accountability is fast becoming a very big problem now recognized by software companies, the major economic players, and governments.

The Undo engine performs a just-in-time binary translation of an application's machine code as it executes, captures all sources of non-determinism such as system calls, signals, and thread switches, and reads from shared memory or device maps. Source: Undo
The Undo engine performs a just-in-time binary translation of an application’s machine code as it executes, captures all sources of non-determinism such as system calls, signals, and thread switches, and reads from shared memory or device maps.
Source: Undo

As a program runs, the Undo engine stores snapshots of the program address space. Source: Undo
As a program runs, the Undo engine stores snapshots of the program address space.
Source: Undo

“With millions of lines of code in embedded systems now, the challenge of finding faults is an increasingly difficult problem — it’s like trying to find a needle in a haystack. When an application crashes at a customer site, it is often impossible to obtain a complete picture of what happened. Yet software engineers need to know exactly what blew up where if they are going to fix the issue. Instead of a development team flailing around with unhelpful log files and core dumps, leaving clients irate whilst they are waiting for a vital fix, engineers can capture critical production failures ‘in the act’ in the form of a recording, turning failures into 100% reproducible events. The recording can then be analyzed using Undo’s reverse-debugger either at the customer site or back at base.”

Law added, “With semiconductor foundries pushing the envelope on process technology, EDA tool vendors need to be able to support them. But the level of support needed is almost at breaking point. To address this, EDA vendors need tools to help improve visibility and code quality.”

 



Undo’s technology can record and replay on any x86 or Arm Cortex-A CPU without needing a special compiler or libraries; it works on physical hardware as well as within virtual machine and cloud environments and on multi-threaded programs, including those using shared memory and asynchronous I/O.

The company’s recorder is like a CCTV for code, according to Law.

“It provides a complete recording of everything that happened, every program stare, every register," he said. "The EDA vendors are using it to improve their code — when chip designers are going to the latest process node, they need clean verifications of their chip design.”

Law said that the main three EDA vendors are already utilizing its recorder, with Cadence using it in their verification tool to support its customers. “Silicon vendors have also come to expect the recording capability, and there has been an instance where one silicon vendor came directly to us to license the technology,” Law said.

Undo says that its vision is to apply its unique technology to address the emerging $1 trillion software accountability problem — for example, when the courts need to determine why a self-driving car hit a pedestrian or when a bank is asked by its regulator to explain a suspect series of trades or when Congress wants to know what lies behind certain behavior from a social networking website.

Undo's latest funding round was led by Cambridge Innovation Capital (CIC), a Cambridge-based builder of technology and healthcare companies. The funding will be used to grow Undo’s software development team, accelerate its product development, and expand its U.S. operations.

New investors include Global Brain Corp., a Japanese venture capital fund, and Parkwalk Advisors Ltd. All existing investor groups participated in the round, including Rockspring, Martlet, Sir Peter Michael (founder of Quantel, Classic FM, and California’s Peter Michael Winery), the Cambridge Angels group, and Jaan Tallinn (co-founder of Skype and Kazaa).

Headquartered in Cambridge, U.K., with an office in San Francisco, Undo was founded as a bootstrapped startup in 2005 by Law and Julian Smith. It received its first external capital investment in 2012.

 — Nitin Dahad is a European correspondent for EE Times.