Recent impressive performance improvements in computer architecture have not led to significant gains in ease of debugging. Software debugging often relies on inserting run-time software checks. In many cases, however, it is hard to find the root cause of a bug. Moreover, program execution typically slows down significantly, often by 10-100 times. To address this problem, this paper introduces the Intelligent Watcher (iWatcher), novel architectural support to monitor dynamic execution with minimal overhead, automatically, and flexibly. iWatcher associates program-specified monitoring functions with memory locations. When any such location is accessed, the monitoring function is automatically triggered with low overhead. To further reduce ov...
Breakpoints, watchpoints, and conditional variants of both are essential debugging primitives, but t...
Finding, understanding, and fixing bugs in software systems is challenging. Dynamic binary translati...
Debugging is time and energy intensive. Many tools have been developed to help solve the problems as...
Recent impressive performance improvements in computer architecture have not led to significant gain...
As Moore's law has been continuously improving the microprocessor's speed, performance is no longer ...
This paper makes two contributions to architectural support for software debugging. First, it propos...
This paper makes two contributions to architectural support for software debugging. First, it propos...
Debugging software is challenging because of the increasing complexity of software and hardware, and...
With the growing use of computers in almost every aspect of our lives, software failures have greate...
It is a great challenge to build reliable computer systems with unreliable hardware and buggy softwa...
Dynamic tools for software bug detection such as Purify are commonly used because they leverage run-...
Significant time is spent by companies trying to reproduce and fix bugs. We recently proposed a har...
Bugs caused by improperly bounded program inputs cost software companies millions of dollars annuall...
The complexity of modern software makes it difficult to ship correct programs. Errors can cost money...
Finding, understanding, and fixing bugs in software systems is challenging. Dynamic binary trans-lat...
Breakpoints, watchpoints, and conditional variants of both are essential debugging primitives, but t...
Finding, understanding, and fixing bugs in software systems is challenging. Dynamic binary translati...
Debugging is time and energy intensive. Many tools have been developed to help solve the problems as...
Recent impressive performance improvements in computer architecture have not led to significant gain...
As Moore's law has been continuously improving the microprocessor's speed, performance is no longer ...
This paper makes two contributions to architectural support for software debugging. First, it propos...
This paper makes two contributions to architectural support for software debugging. First, it propos...
Debugging software is challenging because of the increasing complexity of software and hardware, and...
With the growing use of computers in almost every aspect of our lives, software failures have greate...
It is a great challenge to build reliable computer systems with unreliable hardware and buggy softwa...
Dynamic tools for software bug detection such as Purify are commonly used because they leverage run-...
Significant time is spent by companies trying to reproduce and fix bugs. We recently proposed a har...
Bugs caused by improperly bounded program inputs cost software companies millions of dollars annuall...
The complexity of modern software makes it difficult to ship correct programs. Errors can cost money...
Finding, understanding, and fixing bugs in software systems is challenging. Dynamic binary trans-lat...
Breakpoints, watchpoints, and conditional variants of both are essential debugging primitives, but t...
Finding, understanding, and fixing bugs in software systems is challenging. Dynamic binary translati...
Debugging is time and energy intensive. Many tools have been developed to help solve the problems as...