Software libraries are a popular means of re-using code. Unfortunately, the
static black-box nature of libraries can thwart compiler optimizations, limit
code reuse, and threaten portability. This talk describes a compiler-based
approach to analyzing and optimizing both software libraries and the
application programs that use them. The key is a simple annotation language
that describes semantic information about libraries. The result is a
powerful tool that can transform programs and perform static program
checking.
Lin will describe two uses of this system. He will show how the system can produce good
performance improvements, even for a library-- the PLAPACK parallel linear
algebra library-- that has been carefully designed to provide good
performance. Lin also will show how the system can identify instances of a
well-known security violation that stems from the use of the Standard C
library. He will conclude by outlining some on-going work that shows the larger
potential of this idea.
Wednesday, July 3, 2002 at 4:00 p.m. in DH 1064
Reception at 3:30 p.m. in DH 1049
Biographical Sketch
Calvin Lin is an Assistant Professor of Computer Science at the University of
Texas at Austin. He received his Ph.D. from the University of Washington.
His research explores ways that languages, compilers, and more recently
computer architecture, can improve system performance and programmer
productivity.