![]() |
Mike's Home PageI'm aI am currently on leave (since March, 2006), and working as a Software Engineer at Cray, focusing on parallelizing compiler back-ends (primarily optimization and automatic parallelization).
|
As software systems become simultaneously more complex and more integrated into our daily lives, the need to eliminate errors and security vulnerabilities becomes more pronounced. My work aims to use programming language-based techniques to improve software quality. Some topics we have investigated include coordinated data structures, security white-listing, and enforcing strong
This project involved developing a new embedded video coder, and designing a global bit-allocation algorithm that achieves nearly constant quality across the entire video. We also looked briefly at image compression, animation compression, and 3D mesh compression. See the two DCC 2004 papers listed above for more details.
Out-of-core algorithms are algorithms designed to be efficient even when the size of the problem is greater than the size of the computer's main memory. We developed an out-of-core, parallel, high-dimensional vector radix FFT algorithm. We also analyzed our algorithm's complexity, as well as the communication complexity of a previously developed BMMC permutation algorithm that we used as a subroutine of the FFT algorithm. See my master's thesis for details.