Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Benjamin S. Lerner

dblp:25/1717 · DBLP profile ↗
← Back
11ranked-venue papers
6as first author
2since 2021 · last 2022
0000-0002-9762-6477ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7 · 5 first-authorHuman-computer interaction and ubiquitous computing · 3 · 2 since 2021Security and privacy · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 72% Program synthesis and code generation · 28%
Network and information security
1 paper
Web and mobile security · 100%

Topics — the 3 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
aspect-oriented programming
0.112010
Supporting dynamic, third-party code customizations in JavaScript using aspects · OOPSLA 2010
Program synthesis and code generation
search-based program synthesis
0.112007
Searching for type-error messages · PLDI 2007
Programming languages and type systems
type inference
0.112007
Searching for type-error messages · PLDI 2007

Methods — techniques the papers use, named apart from their topics

dynamic aspect injection · 0.2type checking · 0.1oracle-based search · 0.1
YearPublicationVenuePosition
2022 Integrated Data Science for Secondary Schools: Design and Assessment of a Curriculum
abstract
We propose that secondary-school data-science curricula should be based on four key ingredients: two are technical (programming and statistics, with visualization sitting at their intersection), while two are human-facing (meaningful domains, and civic responsibility). We describe their relationship and argue for their importance.
Emmanuel Schanzer, Nancy Pfenning, Flannery Denny, Sam Dooman, Joe Gibbs Politz, Benjamin S. Lerner, Kathi Fisler, Shriram Krishnamurthi
SIGCSE (1)6
2021 Evolving a K-12 Curriculum for Integrating Computer Science into Mathematics
abstract
Integrating computing into other subjects promises to address many challenges to offering standalone CS courses in K-12 contexts. Integrated curricula must be designed carefully, however, to both meet learning objectives of the host discipline and to gain traction with teachers. We describe the multi-year evolution of Bootstrap, a curriculum for integrating computing into middle- and high-school mathematics. We discuss the initial design and the various modifications we have made over the years to better support math instruction, leading to our goal of using integrated curricula to cover standards in both math and CS. We provide advice for others aiming for integration and raise questions for CS educators about how we might better support learning in other disciplines.
Kathi Fisler, Emmanuel Schanzer, Steve Weimar, Annie Fetter, K. Ann Renninger, Shriram Krishnamurthi, Joe Gibbs Politz, Benjamin S. Lerner, Jennifer Poole, Christine Koerner
SIGCSE8
2018 From Spreadsheets to Programs: Data Science and CS1 in Pyret (Abstract Only)
abstract
Data Science is at the center of many current curricular efforts. It is emerging as an integrated field that has far-reaching and important applications, from news media to policy making to business. While these applications can provide compelling uses of computer science techniques, an introduction to one is not an introduction to the other. How do topics like data structures and program design emerge from data science applications? How do we transition from data science applications to computer science topics? How can data science be integrated into other contexts with little overhead? This workshop presents assignments and curricula designed to answer these questions, and tools that support them.
Joe Gibbs Politz, Kathi Fisler, Shriram Krishnamurthi, Benjamin S. Lerner
SIGCSE4
2017 Synthesis of Recursive ADT Transformations from Reusable Templates
Jeevana Priya Inala, Nadia Polikarpova, Xiaokang Qiu, Benjamin S. Lerner, Armando Solar-Lezama
TACAS (1)4
2013 TeJaS: retrofitting type systems for JavaScript
abstract
JavaScript programs vary widely in functionality, complexity, and use, and analyses of these programs must accommodate such variations. Type-based analyses are typically the simplest such analyses, but due to the language's subtle idioms and many application-specific needs---such as ensuring general-purpose type correctness, security properties, or proper library usage---we have found that a single type system does not suffice for all purposes. However, these varied uses still share many reusable common elements.
Benjamin S. Lerner, Joe Gibbs Politz, Arjun Guha, Shriram Krishnamurthi
DLS1
2013 Combining Form and Function: Static Types for JQuery Programs
Benjamin S. Lerner, Liam Elberty, Shriram Krishnamurthi
ECOOP1
2013 Verifying Web Browser Extensions' Compliance with Private-Browsing Mode
Benjamin S. Lerner, Liam Elberty, Neal Poole, Shriram Krishnamurthi
ESORICS1
2012 Detecting conflicts among declarative UI extensions
abstract
We examine overlays, a flexible aspect-like mechanism for third-party declarative extensions of declarative UIs. Overlays can be defined for any markup language and permit extensions to define new content that is dynamically woven into a base UI document. While powerful, overlays are inherently non-modular and may conflict with each other, by defining duplicate or contradictory UI components. We construct an abstract language to capture core overlay semantics, and design an automatic analysis to detect inter-extension conflicts. We apply the analysis to a case study of Firefox extensions, finding several real-world bugs. Our analysis provides low-level feedback to extension developers and high-level reports to end users. Finally, we show how variants of overlays more expressive than those of Firefox complicate conflict detection.
Benjamin S. Lerner, Dan Grossman
DLS1
2012 A tested semantics for getters, setters, and eval in JavaScript
abstract
We present S5, a semantics for the strict mode of the ECMAScript 5.1 (JavaScript) programming language. S5 shrinks the large source language into a manageable core through an implemented transformation. The resulting specification has been tested against real-world conformance suites for the language. This paper focuses on two aspects of S5: accessors (getters and setters) and eval. Since these features are complex and subtle in JavaScript, they warrant special study. Variations on both features are found in several other programming languages, so their study is likely to have broad applicability.
Joe Gibbs Politz, Matthew J. Carroll, Benjamin S. Lerner, Justin Pombrio, Shriram Krishnamurthi
DLS3
2010 Supporting dynamic, third-party code customizations in JavaScript using aspects
abstract
Web sites and web browsers have recently evolved into platforms on top of which entire applications are delivered dynamically, mostly as JavaScript source code. This delivery format has sparked extremely enthusiastic efforts to customize both individual web sites and entire browsers in ways the original authors never expected or accommodated. Such customizations take the form of yet more script dynamically injected into the application, and the current idioms to do so exploit arcane JavaScript features and are extremely brittle. In this work, we accept the popularity of extensions and seek better linguistic mechanisms to support them.
Benjamin S. Lerner, Herman Venter, Dan Grossman
OOPSLA1
2007 Searching for type-error messages
abstract
Advanced type systems often need some form of type inference to reduce the burden of explicit typing, but type inference often leads to poor error messages for ill-typed programs. This work pursues a new approach to constructing compilers and presenting type-error messages in which the type-checker itself does not produce the messages. Instead, it is an oracle for a search procedure that finds similar programs that do type-check. Our two-fold goal is to improve error messages while simplifying compiler construction. Our primary implementation and evaluation is for Caml, a language with full type inference. We also present a prototype for C++ template functions, where type instantiation is implicit. A key extension is making our approach robust even when the program has multiple independent type errors.
Benjamin S. Lerner, Matthew Flower, Dan Grossman, Craig Chambers
PLDI1