Benjamin Lerner

I’ve started a post-doc at Brown University,
working
with Shriram
Krishnamurthi. I finished my Ph.D. this summer at
the University of Washington, studying programming
languages and techniques
with Dan
Grossman, and learning about systems with
Steve Gribble.
I earned my undergraduate degree at Yale
University, where I worked with with Paul Hudak and
Zhong
Shao, in particular on domain-specific languages and
their properties.

Overall my research interests cover most of the
programming pipeline, from designing more expressive
languages, through improving the compilers, to
certifiably proving code correct. The overarching
goal is to make it easier to write programs correctly
the first time, and to improve confidence in the
resulting products. Currently, I am focusing on
developing principled approaches to web-application
extensibility, which requires a novel mix of the
challenges of language design, software engineering,
and systems architecture.

Research interests and papers

Semantics for Web Programming:
Modern web programs mix rich data structures, subtle
event-based execution, third-party data, and powerful
but small-scale APIs. Understanding and analyzing
these programs requires first building testable and
executable semantics for each of these pieces, and
then using these semantics to drive program analyses.

Web browser extension compatibility:
Firefox’s rise in popularity can be largely
attributed to its much-touted extensions, which offer
versatility, convenience and relatively-low learning
curves to amateur and expert coders alike. But with
such customizability comes problems: many extensions
fail to work properly when installed simultaneously.
This project aims to provide a better programming
model for extensions that can detect and perhaps
correct these conflicts before they happen.