UTCS Faculty Candidate - Ross Tate/University of California, "Making Programming Languages More Usable Through Optimization", ACES 2.302

Contact Name: 
Jenna Whitney
Mar 6, 2012 11:00am - 12:00pm

There is a sign-up schedule for this event that can be found at


Type o

f Talk: UTCS Faculty Recruiting Candidate

Speaker/Affiliation: Ross Ta

te/University of California

Talk Audience: UTCS Faculty, Graduate Stu

dents, Undergraduate Students and Outside Interested Parties


e: Tuesday, March 6, 2012, 11:00 am

Location: ACES 2.302

William Cook

Talk Title: Making Programming Languages More Usable Thr

ough Optimization

Talk Abstract:
Programming languages have long had
to carefully balance between human usability and computational efficiency.
Indeed, many programmers constantly need to keep efficiency in mind as th

ey implement their projects. This concern often forces programmers to write
code in ways that are hard for them and their colleagues to read but which
will execute more efficiently. This may happen at fine-grained levels such
as within a procedure, but it can even force programmers to use library d

esigns that they know are fragile and error prone but which can get them th

e performance they need. In this presentation I will present technologies t

hat enable programmers to extend the compiler with new optimizations by exa

mple and even to automatically infer optimizations from library properties.
These technologies allow programmers to write intuitive code and execute e

fficient programs, thus making programming languages more usable by liftin

g the burden of optimization.

Ross Tate is a Ph.D. student at U

niversity of California, San Diego. His research ranges over a wide area o

f programming languages and earned him the Microsoft Research Fellowship. O

verarching his projects is a proclivity for solving problems in daily progr

amming by pulling from theoretical domains such as category theory, logic

, and semantics. In his work with Sorin Lerner, he developed new technique

s for inferring program optimizations from simple language properties, and
has since adapted those techniques to translation validators used to verif

y the correctness of optimizations and to enabling programmers to teach com

pilers new optimizations from simple examples. In his work at Microsoft Res

earch, he designed algorithms for inferring memory safety of assembly code
as part of a larger effort to build a verified operating system. In his wo

rk with Red Hat, he is helping design a type system with many object-orien

ted and functional features for their Ceylon programming language while sti

ll guaranteeing decidability by building off his solutions for Java''s type