Demo Data from EDBT 2026 / reviewers in the wild / expert
John Renner
dblp:225/4819
· DBLP profile ↗
5ranked-venue papers
1as first author
2since 2021 · last 2024
0000-0003-2297-6066ORCID · reported
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 1 first-author · 2 since 2021
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
5 papers |
Compilers and program optimization · 41% Runtime systems and virtual machines · 25% Programming languages and type systems · 24% | |
| Network and information security
4 papers |
Systems and software security · 55% Hardware security and side channels · 37% Cryptographic primitives and cryptanalysis · 8% | |
| Databases, data mining, and information retrieval
1 paper |
Data models and query languages · 100% |
Topics — the 12 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation |
1.2 | 2 | 2024 | Icarus: Trustworthy Just-In-Time Compilers with Symbolic Meta-Execution · SOSP 2024 Towards a verified range analysis for JavaScript JITs · PLDI 2020 |
Compilers and program optimization
verified compilation |
0.8 | 1 | 2024 | Icarus: Trustworthy Just-In-Time Compilers with Symbolic Meta-Execution · SOSP 2024 |
Compilers and program optimization › verified compilation
verified JIT compilation |
0.8 | 1 | 2024 | Icarus: Trustworthy Just-In-Time Compilers with Symbolic Meta-Execution · SOSP 2024 |
Data models and query languages › schema management
schema evolution |
0.5 | 1 | 2021 | Scooter & Sidecar: a domain-specific approach to writing secure database migrations · PLDI 2021 |
Program verification
SMT-based verification |
0.5 | 1 | 2021 | Scooter & Sidecar: a domain-specific approach to writing secure database migrations · PLDI 2021 |
Compilers and program optimization › verified compilation
verified optimization |
0.4 | 1 | 2020 | Towards a verified range analysis for JavaScript JITs · PLDI 2020 |
Programming languages and type systems
domain-specific languages |
0.4 | 1 | 2019 | FaCT: a DSL for timing-sensitive computation · PLDI 2019 |
Programming languages and type systems › type systems › security type systems
information-flow type systems |
0.4 | 1 | 2019 | CT-wasm: type-driven secure cryptography for the web ecosystem · Proc. ACM Program. Lang. 2019 |
Programming languages and type systems
type systems |
0.4 | 1 | 2019 | CT-wasm: type-driven secure cryptography for the web ecosystem · Proc. ACM Program. Lang. 2019 |
Systems and software security
language-based security |
0.2 | 1 | 2024 | Icarus: Trustworthy Just-In-Time Compilers with Symbolic Meta-Execution · SOSP 2024 |
Cryptographic primitives and cryptanalysis
cryptographic implementation |
0.1 | 1 | 2019 | CT-wasm: type-driven secure cryptography for the web ecosystem · Proc. ACM Program. Lang. 2019 |
Hardware security and side channels › side-channel attack
timing side channel |
0.1 | 1 | 2019 | FaCT: a DSL for timing-sensitive computation · PLDI 2019 |
Methods — techniques the papers use, named apart from their topics
SMT solving · 3.0symbolic meta-execution · 1.5boogie · 1.5domain-specific language · 1.5verified type checker · 0.8mechanized proof · 0.8constant-time type system · 0.8constant-time programming · 0.8translation validation · 0.4abstract interpretation · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Icarus: Trustworthy Just-In-Time Compilers with Symbolic Meta-ExecutionabstractJust-in-time (JIT) compilers make JavaScript run efficiently by replacing slow JavaScript interpreter code with fast machine code. However, this efficiency comes at a cost: bugs in JIT compilers can completely subvert all language-based (memory) safety guarantees, and thereby introduce catastrophic exploitable vulnerabilities. We present Icarus: a new framework for implementing JIT compilers that are automatically, formally verified to be safe, and which can then be converted to C++ that can be linked into browser runtimes. Crucially, we show how to build a JIT with Icarus such that verifying the JIT implementation statically ensures the security of all possible programs that the JIT could ever generate at run-time, via a novel technique called symbolic meta-execution that encodes the behaviors of all possible JIT-generated programs as a single Boogie meta-program which can be efficiently verified by SMT solvers. We evaluate Icarus by using it to re-implement components of Firefox's JavaScript JIT. We show that Icarus can scale up to expressing complex JITs, quickly detects real-world JIT bugs and verifies fixed versions, and yields C++ code that is as fast as hand-written code. Naomi Smith, Abhishek Sharma 0017, John Renner, David Thien, Fraser Brown, Hovav Shacham, Ranjit Jhala, Deian Stefan |
SOSP | 3 |
| 2021 | Scooter & Sidecar: a domain-specific approach to writing secure database migrationsabstractWeb applications often handle large amounts of sensitive user data. Modern secure web frameworks protect this data by (1) using declarative languages to specify security policies alongside database schemas and (2) automatically enforcing these policies at runtime. Unfortunately, these frameworks do not handle the very common situation in which the schemas or the policies need to evolve over time---and updates to schemas and policies need to be performed in a carefully coordinated way. Mistakes during schema or policy migrations can unintentionally leak sensitive data or introduce privilege escalation bugs. In this work, we present a domain-specific language (Scooter) for expressing schema and policy migrations, and an associated SMT-based verifier (Sidecar) which ensures that migrations are secure as the application evolves. We describe the design of Scooter and Sidecar and show that our framework can be used to express realistic schemas, policies, and migrations, without giving up on runtime or verification performance. John Renner, Alex Sanchez-Stern, Fraser Brown, Sorin Lerner, Deian Stefan |
PLDI | 1 |
| 2020 | Towards a verified range analysis for JavaScript JITsabstractWe present VeRA, a system for verifying the range analysis pass in browser just-in-time (JIT) compilers. Browser developers write range analysis routines in a subset of C++, and verification developers write infrastructure to verify custom analysis properties. Then, VeRA automatically verifies the range analysis routines, which browser developers can integrate directly into the JIT. We use VeRA to translate and verify Firefox range analysis routines, and it detects a new, confirmed bug that has existed in the browser for six years. Fraser Brown, John Renner, Andres Nötzli, Sorin Lerner, Hovav Shacham, Deian Stefan |
PLDI | 2 |
| 2019 | FaCT: a DSL for timing-sensitive computationabstractReal-world cryptographic code is often written in a subset of C intended to execute in constant-time, thereby avoiding timing side channel vulnerabilities. This C subset eschews structured programming as we know it: if-statements, looping constructs, and procedural abstractions can leak timing information when handling sensitive data. The resulting obfuscation has led to subtle bugs, even in widely-used high-profile libraries like OpenSSL. Sunjay Cauligi, Gary Soeller, Brian Johannesmeyer, Fraser Brown, Riad S. Wahby, John Renner, Benjamin Grégoire, Gilles Barthe, Ranjit Jhala, Deian Stefan |
PLDI | 6 |
| 2019 | CT-wasm: type-driven secure cryptography for the web ecosystemabstractA significant amount of both client and server-side cryptography is implemented in JavaScript. Despite widespread concerns about its security, no other language has been able to match the convenience that comes from its ubiquitous support on the "web ecosystem" - the wide variety of technologies that collectively underpins the modern World Wide Web. With the introduction of the new WebAssembly bytecode language (Wasm) into the web ecosystem, we have a unique opportunity to advance a principled alternative to existing JavaScript cryptography use cases which does not compromise this convenience. We present Constant-Time WebAssembly (CT-Wasm), a type-driven, strict extension to WebAssembly which facilitates the verifiably secure implementation of cryptographic algorithms. CT-Wasm's type system ensures that code written in CT-Wasm is both information flow secure and resistant to timing side channel attacks; like base Wasm, these guarantees are verifiable in linear time. Building on an existing Wasm mechanization, we mechanize the full CT-Wasm specification, prove soundness of the extended type system, implement a verified type checker, and give several proofs of the language's security properties. We provide two implementations of CT-Wasm: an OCaml reference interpreter and a native implementation for Node.js and Chromium that extends Google's V8 engine. We also implement a CT-Wasm to Wasm rewrite tool that allows developers to reap the benefits of CT-Wasm's type system today, while developing cryptographic algorithms for base Wasm environments. We evaluate the language, our implementations, and supporting tools by porting several cryptographic primitives - Salsa20, SHA-256, and TEA - and the full TweetNaCl library. We find that CT-Wasm is fast, expressive, and generates code that we experimentally measure to be constant-time. Conrad Watt, John Renner, Natalie Popescu, Sunjay Cauligi, Deian Stefan |
Proc. ACM Program. Lang. | 2 |