BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Memento EPFL//
BEGIN:VEVENT
SUMMARY:Meta-metaprogramming
DTSTART:20221118T151500
DTEND:20221118T161500
DTSTAMP:20260407T195017Z
UID:d43994f59dab3c4c5f51a11e64f0dd5aa055dc5c0724d141fd90f6b1
CATEGORIES:Conferences - Seminars
DESCRIPTION:By Jimmy Koppel\nVideo of his talk\n\nBio\nAfter winning the "
 20 Under 20" Thiel Fellowship\, Jimmy Koppel graduated early from Carnegie
  Mellon University to found Tarski Technologies\, a startup building comme
 rcial program repair technology. In 2014\, he joined Apptimize as the thir
 d employee\, where he obtained six patents in the areas of binary modifica
 tion and mobile A/B testing. He completed his Ph. D. in programming langua
 ges from MIT in 2021\, with research focusing on ways to make programming 
 tools easier to build and more general ("meta-metaprogramming").  As the 
 founding partner of Mirdin\, the Code Quality Company\, he has trained ove
 r 250 professional software engineers at the advanced level\, and has over
  1 million views on his software design blog\, Pathsensitive.com. His res
 earch has been profiled in the New York Times\,  the Boston Globe\, Bloom
 berg\, and Wired.\n\nAbstract\nProgramming languages researchers have deve
 loped many advanced tools that promise\nto greatly ease software engineeri
 ng. Yet even conceptually simple tools are expensive to implement fully du
 e to the complexity of the target language\, and standard\ntechniques tie 
 an implementation to a particular target language. In order to make\nthe d
 evelopment of advanced programming tools economical\, these problems deman
 d\nnew techniques for decomposing the development of tools and automating 
 portions\nof their construction\, which I collectively dub “meta-metapro
 gramming."\n \nIn this talk\, I will present my work on new techniques an
 d frameworks for making tools easier to build and more general\, and tools
  built on them. First I will present Cubix\, a "One Tool\, Many Languages"
  framework that allows a single tool to quickly be written for multiple pr
 ogramming languages. We have used Cubix to build Yogo\, a semantic search 
 tool capable of finding equivalent patterns in C\, Java\, and Python from 
 a single shared query. Second\, I will present Mandate\, the world's first
  control-flow graph generator generator\, able to generate multiple variet
 ies of CFG-generator given a programming language's formal semantics. Fina
 lly\, I will present our ongoing work on ECTAs (equality-constrained tree 
 automata)\, a new type of data structure/constraint-solver able to efficie
 ntly search large spaces of programs subject to certain constraints. We ha
 ve used ECTAs to build two synthesizers for Haskell\, Hectare and Spectacu
 lar\, which solidly beat their pre-existing competitors (Hoogle+ and Quick
 Spec) with only a fraction the engineering-effort.
LOCATION:BC 420 https://plan.epfl.ch/?room==BC%20420 https://epfl.zoom.us/
 j/62282536711?pwd=Z01UekRHdGdic2tWcFRBN2FlMzRzQT09
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
