Columbia Technology Ventures

SCRIBE: System for enhanced software debugging

With the increasing complexity of computer programs, fixing bugs is becoming increasingly difficult and expensive. Industry analysts estimate that developers spend only about 20 percent of their time designing and coding, and the bulk of their time debugging and resolving application problems. This technology, known as SCRIBE, utilizes a record/playback tool to help software developers pinpoint specific bugs and fix them faster and more effectively. Furthermore, the technology uses minimal system resources, and is designed to work with standard applications and operating systems. As such, the technology provides a fast, resource-minimal system that can reduce the amount time spent debugging, thereby enhancing the speed and efficiency of software development.

Transparent record/replay method for faster software bug detection

The record/replay technique utilized by this technology allows for faster software debugging than current applications. This technology operates at the interface between applications and operating systems and utilizes standard interfaces, enabling transparency and use of the technology on a wide range of applications and operating systems. To assess code, this technology efficiently records nondeterministic interactions such as related system calls, signals, and shared memory accesses, in a record/replay method not currently used in standard debugging applications. Use of this technology requires minimal system resources, with a recording overhead less than 2.5% for server applications, and less than 15% for all desktop applications.

SCRIBE has been developed and verified for use on commodity Linux operating systems, and commodity multi-core and multiprocessor hardware.

Lead Inventor:

Jason Nieh, Ph.D.

Applications:

  • Diagnosing and debugging applications by capturing and reproducing hard to find bugs
  • Intrusion analysis by capturing intrusions involving non-deterministic effects
  • Fault-tolerance by providing replicas that replay execution and at the occurrence of a fault
  • Record/playback tools can be set to detect intrusions and malicious code

Advantages:

  • Multi-threaded application record/replay works on commodity multiprocessor hardware and operating systems
  • Using a high-level interface avoids the need to track low-level hardware yet still maintains transparency to applications
  • Recording overhead is less than 2.5% for server applications including Apache and MySQL, and less than 15% for all desktop applications including Firefox, Acrobat, OpenOffice, parallel kernel compilation, and movie playback

Patent Information:

Patent Issued (US 8,402,318)

Tech Ventures Reference: IR M09-064

Related Publications: