Hardware Support for Software Safety
Rising chip densities have brought us dramatic improvements in the
cost-performance ratio of processors. At the same time, software costs
are burgeoning. Large software systems are expensive to develop and
are riddled with errors. Certain types of defects (e.g., those
related to memory access, concurrency, and security) are particularly
difficult to track down and can have devastating consequences. We
believe it is time to explore using some of the increasing silicon
real-estate to provide extra functionality to support software
development. We propose dedicating a portion of these new transistors to
provide programmable monitoring hardware which can pass information
between an executing (hardware) thread and an auxiliary (hardware)
thread to enhance software development, make debugging more efficient,
increase reliability and provide run-time security.
This work is funded by the National Science Foundation.
Last updated May 8, 2001