Daniel W. Williams

Learn More
One of the most common forms of security attacks involves exploiting a vulnerability to inject malicious code into an executing application and then cause the injected code to be executed. A theoretically strong approach to defending against any type of code-injection attack is to create and use a process-specific instruction set that is created by a(More)
Software Dynamic Translation (SDT) is used for instrumentation, optimization, security, and many other uses. A major source of SDT overhead is the execution of code to translate an indirect branch's target address into the translated destination block's address. This article discusses sources of Indirect Branch (IB) overhead in SDT systems and evaluates(More)
We report CT findings in seven patients with diffuse cerebral edema and increased attenuation in the basilar cisterns resembling subarachnoid hemorrhage. On the basis of autopsy (three cases) and lumbar puncture (four cases) findings, true subarachnoid hemorrhage was reasonably excluded. Pathophysiologic changes that occur with diffuse cerebral edema are(More)
Software Dynamic Translation (SDT) systems have been used for program instrumentation, dynamic optimization, security policy enforcement, intrusion detection, and many other uses. To be widely applicable, the overhead (runtime, memory usage, and power consumption) should be as low as possible. For instance, if an SDT system is protecting a web server(More)
Processor performance continues to out pace memory performance by a large margin. The growing popularity of mul-ticore and manycore architectures further exacerbates this problem. The challenge of keeping the processor(s) fed with data becomes more difficult. One approach for mitigating this gap is to employ software-based speculative prefetch-ing. Software(More)
Software dynamic translation (SDT) is a technology for modifying programs as they are running. The overhead of monitoring and modifying a running program's instructions is often substantial in SDT systems. As a result, SDT can be impractically slow, especially in SDT systems that do not or can not employ dynamic optimization to offset overhead. This is(More)
Software dynamic translation (SDT) is a powerful technology that enables software malleability and adaptivity at the instruction level by providing facilities for run-time monitoring and code modification. SDT has been used as the basis for many valuable tools, including dynamic optimizers, profilers, security policy enforcement, and binary translation to(More)
As modern hardware becomes increasingly complex, it becomes more difficult to create efficient software for common computing workloads. One way to manage this complexity is to employ holistic solutions that consider multiple layers of hardware and software in conjunction, allowing software to adapt and react to changing conditions at run time. This paper(More)
OBJECTIVE To investigate whether the effects of sex (male/female) that have been demonstrated in the pathology literature using 0.1 mm histopathologic slices are measurable and statistically significant using high-resolution (0.625 mm slice) computed tomography (CT). METHODS IRB-approved retrospective analysis of high-resolution "normal" CT temporal bone(More)