Mon 15 Jun 2015 10:05 - 10:30 at PLDI Main BLUE (Portland 254-255) - Distinguished Papers Chair(s): Steve Blackburn

Compilers should not miscompile. Our work addresses problems in developing peephole optimizations that perform local rewriting to improve the efficiency of LLVM code. These optimizations are individually difficult to get right, particularly in the presence of undefined behavior; taken together they represent a persistent source of bugs. This paper presents Alive, a domain-specific language for writing optimizations and for automatically either proving them correct or else generating counterexamples. Furthermore, Alive can be automatically translated into C++ code that is suitable for inclusion in an LLVM optimization pass. Alive is based on an attempt to balance usability and formal methods; for example, it captures–but largely hides–the detailed semantics of three different kinds of undefined behavior in LLVM. We have translated more than 300 LLVM optimizations into Alive and, in the process, found that eight of them were wrong.

Mon 15 Jun
Times are displayed in time zone: Tijuana, Baja California change

09:00 - 11:00: Distinguished PapersResearch Papers at PLDI Main BLUE (Portland 254-255)
Chair(s): Steve BlackburnAustralian National University
09:00 - 09:15
Day opening
Research Papers
Steve BlackburnAustralian National University , David GroveIBM Research
09:15 - 09:40
Talk
Research Papers
Pavel PanchekhaUniversity of Washington, Alex Sanchez-SternUniversity of Washington, James R. WilcoxUniversity of Washington, Zachary TatlockUniversity of Washington, Seattle
Media Attached
09:40 - 10:05
Talk
Research Papers
Danfeng ZhangCornell University, Andrew C. Myers, Dimitrios VytiniotisMicrosoft Research, Cambridge, Simon Peyton JonesMicrosoft Research, Cambridge
Media Attached
10:05 - 10:30
Talk
Research Papers
Nuno P. LopesMicrosoft Research, David MenendezRutgers University, Santosh NagarakatteRutgers University, John RegehrUniversity of Utah
Media Attached
10:30 - 10:50
Talk
Research Papers