Bugs that took weeks now take minutes

Press Release 06

 

FOR IMMEDIATE RELEASE

CONTACT: Greg Law. +44 844 826 0344 glaw@undo-software.com

Cambridge, UK - June 7th, 2012.

 

Undo Software Brings More Productivity Gains to Linux Developers.

Newly-launched UndoDB v3.5 brings features and performance to help make software project delays a thing of the past.

Undo Software has released today a new version of UndoDB - the powerful debugging tool for Linux. New features, support for more systems, and improved performance help to make Linux developers more productive than ever. Many bugs that would otherwise have taken weeks to fix can be fixed in just minutes with UndoDB.

The company was founded in 2005 by Greg Law and Julian Smith, originally both working from their spare bedrooms. Over the years the company has grown organically and its technology has matured, until this year Undo took on its first external investment (from five of the Cambridge Angels).

Writing software is a complicated business, and finding bugs can be like hunting for the proverbial needle in a haystack: a modern computer executes billions of instructions every second, and the developer is typically looking for just one bad instruction.

UndoDB is a clever piece of software that can record everything that any Linux program does, and then allows developers to "wind the tape back and forth" to see exactly what happened and to home in on their bug. Today the company's technology is used by developers working on some of the world's most complex software, including some of the most prestigious research establishments and several fortune 500 companies.

The new version of the software includes several enhancements that make developers even more productive:

  • An overhauled user interface provides integration with widely-used development tools (such as gdb 7, Eclipse and Emacs), allowing developers to incorporate UndoDB seamlessly into their existing workflows.
  • Improved performance and scalability.
  • The ability to turn on recording mid-way through a debugging session.
  • The ability to debug applications and libraries that rely heavily on ioctls, such as CUDA and OpenGL applications.
  • An autotracer feature to make it easy to attach the debugger to applications in complex, real-world environments where applications are launched by several layers of nested scripts and other programs.

Highlights/Key Facts:

  • Debugging may be the unglamorous side of software development, but it hugely dominates the process - bugs account for 80% of the cost of software development [1].
  • Reversible debugging (also known as replay or historical debugging) allows a developer to step or run an application backwards, and so quickly track down the root-cause of even the most difficult bugs.
  • Reversible debugging has been a "holy grail" of software development tools research for decades. Despite many implementations, including support built-in to the open-source gdb 7.0, UndoDB is the first and only tool with the required performance to make reversible debugging of practical use on demanding, real-world applications.
  • UndoDB allows the entire program state to be wound back to any point in the recorded execution history, yet records with a slow-down over native execution of just 70%. This is significantly faster than competing solutions, some of which can show a recording slow-down of more than 5,000,000%.
  • UndoDB sits seamlessly with Linux developers' existing tool-chains and workflows.

Customer Quotes:

Jacob Rideout works on the KDE project. He says of UndoDB:

"I found the idea of the product amazing and a boon to my productivity ... I already have been able to fix a deadlock that was driving me crazy for a week in only 10 minutes."

Tavis Ormandy is an Information Security Engineer at Google. He says:

"Very impressed - a great piece of engineering ... when I'm not using undodb I do find my self typing 'bstepi'."

Background

Bugs are the dirty secret of the software world. Most developers spend most of their time finding and fixing bugs [1]. Software projects are notoriously late, over-budget or cancelled; nearly always because the developers have drowned under the weight of the bugs. Undo Software provides developers with the tools to tame some of the most difficult bugs, in some the world's most complex and demanding software.

Brian Kernighan and Rob Pike (inventors of the C programming language and the UNIX operating system) say in their book, The Practice of Programming:

"Debugging involves backwards reasoning, like solving murder mysteries. Something impossible occurred, and the only solid information is that it really did occur. So we must think backwards from the result to discover the reasons."

 

If debugging software can be thought of as solving murder mysteries, then UndoDB can be thought of as CCTV for your code. The technology records everything that a program does (no mean feat considering modern computers execute billions of operations every second), and then allows the developer to wind backwards and forwards to see exactly what their program has done, and home in on incorrect behaviour. Features such as reverse watchpoints allow the developer to go immediately to where data has been corrupted, and then to see exactly how that happened.

In short, UndoDB means that bugs that would take weeks to fix can now be fixed in minutes.

###

 

References

[1] NIST -- Software Errors Cost U.S. Economy $59.5 Billion Annually
http://www.nist.gov/public_affairs/taglance/taglance_summer02/summer2002.htm#bugs.

 

Contact Details

Undo Ltd
ideaSpace, 3 Charles Babbage Road, Cambridge, CB3 0GT, UK
Email: support@undo-software.com
Phone: Greg Law +44 844 826 0344