Amit Levy 0001

dblp:68/8881 · also Amit A. Levy 0001 · DBLP profile ↗
← Back
31ranked-venue papers
7as first author
14since 2021 · last 2026
0000-0003-1479-8917ORCID · verified

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

Software engineering, systems software and programming languages · 14 · 3 first-author · 7 since 2021Computer networks · 8 · 3 first-author · 2 since 2021Security and privacy · 5 · 2 since 2021Systems, architecture and hardware · 2 · 2 since 2021Theory of computation · 1 · 1 first-author · 1 since 2021
YearPublicationVenuePosition
2026 Rage Against the State Machine: Type-Stated Hardware Peripherals for Increased Driver Correctness
abstract
Hardware provides driver authors both a strict specification of the operations a driver is allowed to do, and a highly permissive interface full of operations a driver can do. Authoring drivers that adhere to the provided hardware device protocol is challenged by dynamic definitions of what a driver should do based on the hardware's state. This is further complicated by increasingly capable hardware which may transition between states concurrently and independently from the software driver.
Tyler Potyondy, Anthony Tarbinian, Leon Schuermann, Eric Mugnier, Adin Ackerman, Amit Levy 0001, Pat Pannuto
ASPLOS (2)6
2026 Analyzing the Economic Impact of Decentralization on Users
abstract
We model the ultimate price paid by users of a decentralized ledger as resulting from a two-stage game where Miners (/Proposers/etc.) first purchase blockspace via a Tullock contest, and then price that space to users. When analyzing our distributed ledger model, we find: - A characterization of all possible pure equilibria (although pure equilibria are not guaranteed to exist). - A natural sufficient condition, implied by Regularity (à la [Myerson, 1981]), for existence of a "market-clearing" pure equilibrium where Miners choose to sell all space allocated by the Distributed Ledger Protocol, and that this equilibrium is unique. - The market share of the largest miner is the relevant "measure of decentralization" to determine whether a market-clearing pure equilibrium exists. - Block rewards do not impact users' prices at equilibrium, when pure equilibria exist. But, higher block rewards can cause pure equilibria to exist. We also discuss aspects of our model and how they relate to blockchains deployed in practice. For example, only "patient" users (who are happy for their transactions to enter the blockchain under any miner) would enjoy the conclusions highlighted by our model, whereas "impatient" users (who are interested only for their transaction to be included in the very next block) still face monopoly pricing.
Amit Levy 0001, S. Matthew Weinberg, Chenghan Zhou
ITCS1
2025 End-to-End Encrypted Applications with Strong Consistency Under Byzantine Actors
abstract
Existing end-to-end encrypted systems provide applications with strong privacy and integrity guarantees, but fully trust the server for consistency. However, many applications consider strong consistency a security property: a Byzantine server can corrupt application state by manipulating operation orders. We present SCUBA, an end-to-end encrypted framework for strongly-consistent applications in a Byzantine setting. At its core, the SCUBA protocol establishes strong privacy, integrity, and ordering guarantees that let applications achieve up to the strongest single- and multi-key consistency models known to date. SCUBA upholds all consistency guarantees in the face of a Byzantine server, and lets clients prove a server misbehaved to a third party. We build four previously-unsupported applications on top of the SCUBA key-value store, and show that SCUBA imposes minimal overheads and can support many applications at once. SCUBA enables entire classes of applications to benefit from end-to-end encryption.
Natalie Popescu, Shai Caspin, Leon Schuermann, Amit Levy 0001
ACSAC5
2025 Building Bridges: Safe Interactions with Foreign Languages through Omniglot
Leon Schuermann, Jack Toubes, Tyler Potyondy, Pat Pannuto, Mae Milano, Amit Levy 0001
OSDI6
2025 From Rust Till Run: Extending Memory Safety From Rust to Cryptographic Assembly
abstract
Memory safety is an important property for security-critical systems, but it cannot be easily extended to cryptography, which is a common source of memory safety vulnerabilities. Cryptography libraries use assembly for direct control of timing and performance, but assembly introduces unsafety when it is called from a high-level memory-safe language like Rust. To enable quick and safe integration of assembly into Rust, specifically for building memory-safe cryptography, we present CLAMS. CLAMS verifies cryptographic assembly against safety constraints derived directly from Rust's type system. Verification is done through symbolic execution at compile time to minimize run-time overheads, and supports verifying loops over potentially unbounded input buffers. CLAMS's procedural macro interface forces developers to map safe Rust types to registers and define preconditions on input and output parameters. CLAMS's techniques can verify the memory safety of assembly from a popular open-source cryptography library. We evaluated CLAMS and found that verification is quick and imposes compile-time overheads under 100ms and negligible run-time overheads.
Shai Caspin, Nikhil Pimpalkhare, Amit Levy 0001
PLOS@SOSP3
2025 Running Consistent Applications Closer to Users with Radical for Lower Latency
abstract
Running applications close to users—in nearby datacenters, at edge points of presence, or in on-premises clusters—is attractive, as it reduces end-to-end latency. Moving strong consistent applications closer to users is difficult, as they incur high latencies either when accessing, or coordinating, their storage system. This restricts such applications to running co-located with their data, in a datacenter. Radical allows these applications to leverage the latency benefits that come from running near users. Radical uses its new LVI protocol to perform all necessary coordination in a single request. This request guarantees linearizability with a combination of locks, a validation step, and write intents. Radical hides the latency of the LVI request by overlapping it with speculative execution of the application. Our evaluation shows that Radical achieves 84–89% of the latency improvement obtainable by moving out of the datacenter, while providing Linearizability.
Nicolaas Kaashoek, Oleg Aleksandrovich Golev, Austin T. Li, Amit Levy 0001, Wyatt Lloyd
SOSP4
2025 Tock: From Research To Securing 10 Million Computers
Leon Schuermann, Bradford Campbell, Branden Ghena, Philip Alexander Levis, Amit Levy 0001, Pat Pannuto
SOSP5
2023 Doing More with Less: Orchestrating Serverless Applications without an Orchestrator
David H. Liu, Amit Levy 0001, Shadi A. Noghabi, Sebastian Burckhardt
NSDI2
2023 Only Pay for What You Leak: Leveraging Sandboxes for a Minimally Invasive Browser Fingerprinting Defense
abstract
We present Sandcastle, an entropy-based browser fingerprinting defense that aims to minimize its interference with legitimate web applications. Sandcastle allows developers to partition code that operates on identifiable information into sandboxes to prove to the browser the information cannot be sent in any network request. Meanwhile, sandboxes may make full use of identifiable information on the client side, including writing to dedicated regions of the Document Object Model. For applications where this policy is too strict, Sandcastle provides an expressive cashier that allows precise control over the granularity of data that is leaked to the network. These features allow Sandcastle to eliminate most or all of the noise added to the outputs of identifiable APIs by Chrome’s Privacy Budget framework, the current state of the art in entropy-based fingerprinting defenses. Enabling unlimited client-side use of identifiable information allows for a much more comprehensive set of web applications to run under a fingerprinting defense, such as 3D games and video streaming, and provides a mechanism to expand the space of APIs that can be introduced to the web ecosystem without sacrificing privacy.
Ryan Torok, Amit Levy 0001
SP2
2022 Computation-centric networking
abstract
We propose putting computation at the center of what networked computers and cloud services do for their users. We envision a shared representation of a computation: a deterministic procedure, run in an environment of well-specified dependencies. This suggests an end-to-end argument for serverless computing, shifting the service model from "renting CPUs by the second" to "providing the unambiguously correct result of a computation." Accountability to these higher-level abstractions could permit agility and innovation on other axes.
Yuhan Deng, Angela Montemayor, Amit Levy 0001, Keith Winstein
HotNets3
2022 Speculative Recovery: Cheap, Highly Available Fault Tolerance with Disaggregated Storage
Nanqinqin Li, Anja Kalaba, Michael J. Freedman, Wyatt Lloyd, Amit Levy 0001
USENIX ATC5
2021 Power Clocks: Dynamic Multi-Clock Management for Embedded Systems
Holly Chiang, Hudson Ayers, Daniel B. Giffin, Amit Levy 0001, Philip Alexander Levis
EWSN4
2021 Regular Sequential Serializability and Regular Sequential Consistency
abstract
Strictly serializable (linearizable) services appear to execute transactions (operations) sequentially, in an order consistent with real time. This restricts a transaction's (operation's) possible return values and in turn, simplifies application programming. In exchange, strictly serializable (linearizable) services perform worse than those with weaker consistency. But switching to such services can break applications.
Jeffrey Helt, Matthew Burke 0001, Amit Levy 0001, Wyatt Lloyd
SOSP3
2021 Safer at any speed: automatic context-aware safety enhancement for Rust
abstract
Type-safe languages improve application safety by eliminating whole classes of vulnerabilities–such as buffer overflows–by construction. However, this safety sometimes comes with a performance cost. As a result, many modern type-safe languages provide escape hatches that allow developers to manually bypass them. The relative value of performance to safety and the degree of performance obtained depends upon the application context, including user goals and the hardware upon which the application is to be executed. Since libraries may be used in many different contexts, library developers cannot make safety-performance trade-off decisions appropriate for all cases. Application developers can tune libraries themselves to increase safety or performance, but this requires extra effort and makes libraries less reusable. To address this problem, we present NADER, a Rust development tool that makes applications safer by automatically transforming unsafe code into equivalent safe code according to developer preferences and application context. In end-to-end system evaluations in a given context, NADER automatically reintroduces numerous library bounds checks, in many cases making application code that uses popular Rust libraries safer with no corresponding loss in performance.
Natalie Popescu, Sotiris Apostolakis, David I. August, Amit Levy 0001
Proc. ACM Program. Lang.5
2020 Design Considerations for Low Power Internet Protocols
abstract
Low-power wireless networks provide IPv6 connectivity through 6LoWPAN, a set of standards to aggressively compress IPv6 packets over small maximum transfer unit (MTU) links such as 802.15.4.The entire purpose of IP was to interconnect different networks, but we find that different 6LoWPAN implementations fail to reliably communicate with one another. These failures are due to stacks implementing different subsets of the standard out of concern for code size. We argue that this failure stems from 6LoWPAN's design, not implementation, and is due to applying traditional Internet protocol design principles to low- power networks.We propose three design principles for Internet protocols on low-power networks, designed to prevent similar failures in the future. These principles are based around the importance of providing flexible tradeoffs between code size and energy efficiency. We apply these principles to 6LoWPAN and show that the modified protocol provides a wide range of implementation strategies while allowing implementations with different strategies to reliably communicate.
Hudson Ayers, Paul Crews, Hubert Hua Kian Teo, Conor McAvity, Amit Levy 0001, Philip Alexander Levis
DCOSS5
2018 Design Considerations for Low Power Internet Protocols
abstract
Examining implementations of the 6LoWPAN Internet Standard in major embedded operating systems, we observe that they do not fully interoperate. We find this is due to some inherent design flaws in 6LoWPAN. We propose and demonstrate four principles that can be used to structure protocols for low power devices that encourage interoperability between diverse implementations.
Hudson Ayers, Paul Crews, Hubert Hua Kian Teo, Conor McAvity, Amit Levy 0001, Philip Alexander Levis
SenSys5
2018 Dynamic Multi-Clock Management for Embedded Systems
abstract
Modern microcontrollers come with a selection of clock sources that have widely differing frequencies and power consumptions. For applications whose workloads vary over time, dynamically changing the clock can provide significant energy savings. The varying constraints of embedded hardware environments and the complex interactions of multiprogrammed systems makes this approach burdensome to do in application logic. Power Clocks orchestrates energy optimizing clock management in the kernel, obviating the need for application involvement while still achieving acceptable performance for typical workloads. This poster describes Power Clocks's design and presents preliminary results.
Holly Chiang, Daniel B. Giffin, Amit Levy 0001, Philip Alexander Levis
SenSys3
2017 The Tock Embedded Operating System
abstract
Low-power microcontrollers lack some of the hardware features and most of the memory resources that usually enable multiprogrammable systems. Accordingly, operating system software for these platforms has not provided important features like memory isolation, dynamic memory allocation, and flexible concurrency. However, an emerging class of embedded applications are software platforms, rather than single purpose devices. Tock, a new operating system for low-power platforms, takes advantage of the limited hardware-protection mechanisms available on recent microcontrollers and the type-safety features of the Rust programming language to provide a multiprogramming environment that offers isolation of software faults, memory protection, and efficient memory management for dynamic application workloads written in any language while retaining the dependability requirements of long-running devices.
Amit Levy 0001, Bradford Campbell, Branden Ghena, Daniel B. Giffin, Shane Leonard, Pat Pannuto, Prabal Dutta, Philip Alexander Levis
SenSys1
2017 Multiprogramming a 64kB Computer Safely and Efficiently
abstract
Low-power microcontrollers lack some of the hardware features and memory resources that enable multiprogrammable systems. Accordingly, microcontroller-based operating systems have not provided important features like fault isolation, dynamic memory allocation, and flexible concurrency. However, an emerging class of embedded applications are software platforms, rather than single purpose devices, and need these multiprogramming features. Tock, a new operating system for low-power platforms, takes advantage of limited hardware-protection mechanisms as well as the type-safety features of the Rust programming language to provide a multiprogramming environment for microcontrollers. Tock isolates software faults, provides memory protection, and efficiently manages memory for dynamic application workloads written in any language. It achieves this while retaining the dependability requirements of long-running applications.
Amit Levy 0001, Bradford Campbell, Branden Ghena, Daniel B. Giffin, Pat Pannuto, Prabal Dutta, Philip Alexander Levis
SOSP1
2017 Hails: Protecting data privacy in untrusted web applications
abstract
Many modern web-platforms are no longer written by a single entity, such as a company or individual, but consist of a trusted core that can be extended by untrusted third-party authors. Examples of this approach include Facebook, Yammer, and Salesforce. Unfortunately, users running third-party “app s” have little control over what the apps can do with their private data. Today’s platforms offer only ad hoc constraints on app behavior, leaving users an unfortunate trade-off between convenience and privacy. A principled approach to code confinement could allow the integration of untrusted code while enforcing flexible, end-to-end policies on data access. This paper presents a new framework, Hails, for building web platforms, that adds mandatory access control and a declarative policy language to the familiar MVC architecture. We demonstrate the flexibility of Hails by building several platforms, including GitStar, a code-hosting website that enforces robust privacy policies on user data even while allowing untrusted apps to deliver extended features to users.
Daniel B. Giffin, Amit Levy 0001, Deian Stefan, David Terei, David Mazières, John C. Mitchell, Alejandro Russo
J. Comput. Secur.2
2016 Beetle: Flexible Communication for Bluetooth Low Energy
abstract
The next generation of computing peripherals will be low-power ubiquitous computing devices such as door locks, smart watches, and heart rate monitors. Bluetooth Low Energy is a primary protocol for connecting such peripherals to mobile and gateway devices. Current operating system support for Bluetooth Low Energy forces peripherals into vertical application silos. As a result, simple, intuitive applications such as opening a door with a smart watch or simultaneously logging and viewing heart rate data are impossible. We present Beetle, a new hardware interface that virtualizes peripherals at the application layer, allowing safe access by multiple programs without requiring the operating system to understand hardware functionality, fine-grained access control to peripheral device resources, and transparent access to peripherals connected over the network. We describe a series of novel applications that are impossible with existing abstractions but simple to implement with Beetle.
Amit Levy 0001, Laurynas Riliskis, Philip Alexander Levis, Keith Winstein
MobiSys1
2016 Rebooting the Embedded System: Demo Abstract
abstract
For the last fifteen years, research explored the hardware, software, sensing, communication abstractions, languages, and protocols that could make networks of small, embedded devices---motes---sample and report data for long periods of time while unattended. Today, the application and technological landscapes have shifted, introducing new requirements and new capabilities. Hardware has evolved past 8 and 16 bit microcontrollers: there are now 32 bit processors with lower energy budgets and greater computing capability. New wireless link layers have emerged, creating protocols that support direct interaction with users, but introduce novel limitations that systems must consider. Programming language advances have led to the ability to write system kernels that guarantee safety and reliability while maintaining low overhead. The time has come to look beyond optimizing networks of motes. We look towards new technologies such as Bluetooth Low Energy, Cortex M processors, and capable multi-process operating systems, with new application spaces such as personal area networks, and new capabilities and requirements in security and privacy to inform contemporary hardware and software platforms. It is time for a new, open experimental platform in this post-mote era.
Amit Levy 0001, Bradford Campbell, Branden Ghena, Shane Leonard, Pat Pannuto, Philip Alexander Levis, Prabal Dutta
SenSys1
2015 Ownership is theft: experiences building an embedded OS in rust
abstract
Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.
Amit Levy 0001, Michael P. Andersen, Bradford Campbell, David E. Culler, Prabal Dutta, Branden Ghena, Philip Alexander Levis, Pat Pannuto
PLOS@SOSP1
2014 Demo proposal: making web applications -XSafe
abstract
Simple is a web framework for Haskell. Simple came out of our work on Hails, a platform for secure web applications. For Hails, we needed a flexible web framework that uses no unsafe language features and can be used to build apps outside the IO monad. Unlike many mainstream web frameworks, Simple does not enforce a particular structure or paradigm. Instead, it simply provides a set of composable building blocks to help developers structure and organize their web applications.
Amit Levy 0001, David Terei, Deian Stefan, David Mazières
Haskell1
2014 Building secure systems with LIO (demo)
abstract
LIO is a decentralized information flow control (DIFC) system, implemented in Haskell. In this demo proposal, we give an overview of the LIO library and show how LIO can be used to build secure systems. In particular, we show how to specify high-level security policies in the context of web applications, and describe how LIO automatically enforces these policies even in the presence of untrusted code.
Deian Stefan, Amit Levy 0001, Alejandro Russo, David Mazières
Haskell2
2014 A networked embedded system platform for the post-mote era
abstract
For the last fifteen years, research explored the hardware, software, sensing, communication abstractions, languages, and protocols that could make networks of small, embedded devices---motes---sample and report data for long periods of time unattended. Today, the application and technological landscapes have shifted, introducing new requirements and new capabilities. Hardware has evolved past 8 and 16 bit microcontrollers: there are now 32 bit processors with lower energy budgets and greater computing capability. New wireless link layers have emerged, creating protocols that support rapid and efficient setup and teardown but introduce novel limitations that systems must consider. The time has come to look beyond optimizing networks of motes. We look towards new technologies such as Bluetooth Low Energy, Cortex M processors, and capable energy harvesting, with new application spaces such as personal area networks, and new capabilities and requirements in security and privacy to inform contemporary hardware and software platforms. It is time for a new, open experimental platform in this post-mote era.
Pat Pannuto, Michael P. Andersen, Tom Bauer, Bradford Campbell, Amit Levy 0001, David E. Culler, Philip Alexander Levis, Prabal Dutta
SenSys5
2013 Eliminating Cache-Based Timing Attacks with Instruction-Based Scheduling
Deian Stefan, Pablo Buiras, Edward Z. Yang, Amit Levy 0001, David Terei, Alejandro Russo, David Mazières
ESORICS4
2012 Addressing covert termination and timing channels in concurrent information flow systems
abstract
When termination of a program is observable by an adversary, confidential information may be leaked by terminating accordingly. While this termination covert channel has limited bandwidth for sequential programs, it is a more dangerous source of information leakage in concurrent settings. We address concurrent termination and timing channels by presenting a dynamic information-flow control system that mitigates and eliminates these channels while allowing termination and timing to depend on secret values. Intuitively, we leverage concurrency by placing such potentially sensitive actions in separate threads. While termination and timing of these threads may expose secret values, our system requires any thread observing these properties to raise its information-flow label accordingly, preventing leaks to lower-labeled contexts. We implement this approach in a Haskell library and demonstrate its applicability by building a web server that uses information-flow control to restrict untrusted web applications.
Deian Stefan, Alejandro Russo, Pablo Buiras, Amit Levy 0001, John C. Mitchell, David Mazières
ICFP4
2012 Hails: Protecting Data Privacy in Untrusted Web Applications
Daniel B. Giffin, Amit Levy 0001, Deian Stefan, David Terei, David Mazières, John C. Mitchell, Alejandro Russo
OSDI2
2010 Comet: An active distributed key-value store
Roxana Geambasu, Amit Levy 0001, Tadayoshi Kohno, Arvind Krishnamurthy, Henry M. Levy
OSDI2
2009 Vanish: Increasing Data Privacy with Self-Destructing Data
Roxana Geambasu, Tadayoshi Kohno, Amit Levy 0001, Henry M. Levy
USENIX Security Symposium3