In a world of social networking, security attacks, and hot mobile phones, the importance of application performance appears to have diminished. My own research agenda has shifted from looking at the performance of memory allocation to building runtime systems that are more resilient to data corruption and security attacks. In my talk, I will outline a number of areas where code-generation and runtime techniques can be successfully applied to areas for purposes other than performance, such as fault tolerance, reliability, and security. Along the way, I will consider such questions as “Does it really matter if this corruption was caused by a software or hardware error?” and “Is it okay to let a malicious person allocate arbitrary data on my heap?”.

Despite these other opportunities, the importance of performance in modern applications remains undiminished, and current hardware trends place an increasing burden on software to provide needed performance boosts. In concluding, I will suggest several important trends that I believe will help define the next 10 years of code generation and optimization research.