BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Generating Code by Learning - Yi Wei\, ETH Zurich
DTSTART:20120410T100000Z
DTEND:20120410T110000Z
UID:TALK37274@talks.cam.ac.uk
CONTACT:Microsoft Research Cambridge Talks Admins
DESCRIPTION:Automated programming is a long-term dream in computer science
 . Although we know that a fully automated solution is impossible\, partial
  realization of this dream can still have practical impacts. In this talk\
 , I will focus on two practical issues\, namely\, specifying software and 
 debugging software\, and present techniques which automatically generate s
 pecifications and bug fixes.\n\nSpecifications are essential to reason abo
 ut software correctness. Unfortunately\, most software contains no specifi
 cation or only very partial specifications\, but many of them come with so
 me test cases. Those test cases can be generalized into specifications via
  dynamic invariant inference. I will demonstrate how to infer specificatio
 ns in forms of universal quantifications and implications which are necess
 ary to express important aspects of program behaviors\, such as frame cond
 itions. I will also show the use of the inferred specifications to detect 
 more faults in the software.\n\nIn program debugging\, finding the faults 
 is only the first step\; what about correcting them? I will demonstrate a 
 technique which uses dynamically inferred invariants to find possible reas
 ons of a failure and generates fixes to correct the fault. I will also sho
 w cases where the fixing algorithm has great difficulty in providing usefu
 l suggestions\; and I would argue that by learning from existing code\, a 
 synthesizer\, such as the fixing algorithm\, can collect hints about the d
 esirable code. I will then present some recent and ongoing work relying on
  this learning idea to synthesize code.\n
LOCATION:Large lecture theatre\, Microsoft Research Ltd\, 7 J J Thomson Av
 enue (Off Madingley Road)\, Cambridge
END:VEVENT
END:VCALENDAR
