EDBT 2026 Demo / reviewers in the wild / expert
David Herman
dblp:54/160
· DBLP profile ↗
8ranked-venue papers
3as first author
0since 2021 · last 2014
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 3 first-authorHuman-computer interaction and ubiquitous computing · 1
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.
| Network and information security
1 paper |
Web and mobile security · 50% Systems and software security · 50% | |
| Software engineering, system software, and programming languages
1 paper |
Programming languages and type systems · 100% |
Topics — the 5 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Systems and software security
information flow control |
0.2 | 1 | 2014 | Protecting Users by Confining JavaScript with COWL · OSDI 2014 |
Web and mobile security › javascript security
javascript isolation |
0.2 | 1 | 2014 | Protecting Users by Confining JavaScript with COWL · OSDI 2014 |
Programming languages and type systems › type theory
dependent types |
0.1 | 1 | 2012 | Dependent types for JavaScript · OOPSLA 2012 |
Programming languages and type systems › type systems
refinement types |
0.1 | 1 | 2012 | Dependent types for JavaScript · OOPSLA 2012 |
Programming languages and type systems
dynamic languages |
0.0 | 1 | 2012 | Dependent types for JavaScript · OOPSLA 2012 |
Methods — techniques the papers use, named apart from their topics
COWL · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2014 | Sweeten your JavaScript: hygienic macros for ES5abstractLisp and Scheme have demonstrated the power of macros to enable programmers to evolve and craft languages. In languages with more complex syntax, macros have had less success. In part, this has been due to the difficulty in building expressive hygienic macro systems for such languages. JavaScript in particular presents unique challenges for macro systems due to ambiguities in the lexing stage that force the JavaScript lexer and parser to be intertwined. Tim Disney, Nathan Faubion, David Herman, Cormac Flanagan |
DLS | 3 |
| 2014 | Typed objects in JavaScriptabstractJavaScript's typed arrays have proven to be a crucial API for many JS applications, particularly those working with large amounts of data or emulating other languages. Unfortunately, the current typed array API offers no means of abstraction. Programmers are supplied with a simple byte buffer that can be viewed as an array of integers or floats, but nothing more. Nicholas D. Matsakis, David Herman, Dmitry Lomov |
DLS | 2 |
| 2014 | Protecting Users by Confining JavaScript with COWL
Deian Stefan, Edward Z. Yang, Petr Marchenko, Alejandro Russo, David Herman, Brad Karp, David Mazières |
OSDI | 5 |
| 2012 | Dependent types for JavaScriptabstractWe present Dependent JavaScript (DJS), a statically typed dialect of the imperative, object-oriented, dynamic language. DJS supports the particularly challenging features such as run-time type-tests, higher-order functions, extensible objects, prototype inheritance, and arrays through a combination of nested refinement types, strong updates to the heap, and heap unrolling to precisely track prototype hierarchies. With our implementation of DJS, we demonstrate that the type system is expressive enough to reason about a variety of tricky idioms found in small examples drawn from several sources, including the popular book JavaScript: The Good Parts and the SunSpider benchmark suite. Ravi Chugh, David Herman, Ranjit Jhala |
OOPSLA | 2 |
| 2008 | A Theory of Hygienic Macros
David Herman, Mitchell Wand |
ESOP | 1 |
| 2007 | Functional pearl: the great escape or, how to jump the border without getting caughtabstractFilinski showed that callcc and a single mutable reference cell are sufficient to express the delimited control operators shift and reset. However, this implementation interacts poorly with dynamic bindings like exception handlers. We present a variation on Filinski's encoding of delimited continuations that behaves appropriately in the presence of exceptions and give an implementation in Standard ML of New Jersey. We prove the encoding correct with respect to the semantics of delimited dynamic binding. David Herman |
ICFP | 1 |
| 2004 | Improving the static analysis of embedded languages via partial evaluation
David Herman, Philippe Meunier |
ICFP | 1 |
| 1989 | Building Routine Planning Systems and Explaining Their Behaviour
B. Chandrasekaran 0001, John R. Josephson, Anne M. Keuneke, David Herman |
Int. J. Man Mach. Stud. | 4 |