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.

Leonid Ryzhyk

dblp:91/7451 · DBLP profile ↗
← Back
29ranked-venue papers
6as first author
4since 2021 · last 2025
—ORCID · none

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

Software engineering, systems software and programming languages · 20 · 4 first-authorTheory of computation · 8Systems, architecture and hardware · 3 · 2 first-author · 1 since 2021Artificial intelligence and machine learning · 2Computer networks · 2 · 1 first-author · 1 since 2021Databases, data management, data science and information retrieval · 2 · 2 since 2021Graphics, computer vision, multimedia, augmented reality and games · 2

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.

Databases, data mining, and information retrieval
2 papers
Query processing and optimization · 47% Data models and query languages · 27% Data stream processing · 20%
Software engineering, system software, and programming languages
10 papers
Program synthesis and code generation · 32% Operating systems · 19% Programming languages and type systems · 14%
Theoretical computer science
4 papers
Automated reasoning and model checking · 72% Automata and formal languages · 13% Algorithmic game theory and mechanism design · 12%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
Cloud and datacenter computing · 76% Embedded and real-time systems · 15% Electronic design automation · 9%
Network and information security
2 papers
Systems and software security · 100%
Artificial intelligence
1 paper
Trustworthy machine learning · 87% Efficient and distributed learning · 13%
Computer networks
1 paper
Network management and operations · 100%

Topics — the 30 heaviest of 41, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Query processing and optimization › view maintenance
incremental view maintenance
1.522025
DBSP: automatic incremental view maintenance for rich query languages · VLDB J. 2025
DBSP: Automatic Incremental View Maintenance for Rich Query Languages · Proc. VLDB Endow. 2023
Data models and query languages › query language
query language semantics
0.912025
DBSP: automatic incremental view maintenance for rich query languages · VLDB J. 2025
Data stream processing
stream query languages
0.712023
DBSP: Automatic Incremental View Maintenance for Rich Query Languages · Proc. VLDB Endow. 2023
Programming languages and type systems › programming paradigms
declarative programming
0.412020
Building Scalable and Flexible Cluster Managers Using Declarative Programming · OSDI 2020
Cloud and datacenter computing
cluster resource management and scheduling
0.412020
Building Scalable and Flexible Cluster Managers Using Declarative Programming · OSDI 2020
Systems and software security › operating system security
kernel security
0.412019
Simple and precise static analysis of untrusted Linux kernel extensions · PLDI 2019
Program analysis
static analysis
0.412019
Simple and precise static analysis of untrusted Linux kernel extensions · PLDI 2019
Program synthesis and code generation
concurrent program synthesis
0.422014
Regression-Free Synthesis for Concurrency · CAV 2014
Efficient Synthesis for Concurrency by Semantics-Preserving Transformations · CAV 2013
Machine learning › Trustworthy machine learning › robustness › certified robustness
certified adversarial robustness
0.312018
Verifying Properties of Binarized Deep Neural Networks · AAAI 2018
Machine learning › Trustworthy machine learning
robustness
0.312018
Verifying Properties of Binarized Deep Neural Networks · AAAI 2018
Systems and software security › information flow control
dynamic information flow control
0.312018
Secure serverless computing using dynamic information flow control · Proc. ACM Program. Lang. 2018
Systems and software security
information flow control
0.312018
Secure serverless computing using dynamic information flow control · Proc. ACM Program. Lang. 2018
Cloud and datacenter computing
serverless computing
0.312018
Secure serverless computing using dynamic information flow control · Proc. ACM Program. Lang. 2018
Cloud and datacenter computing › serverless computing
serverless security
0.312018
Secure serverless computing using dynamic information flow control · Proc. ACM Program. Lang. 2018
Automated reasoning and model checking › satisfiability
SAT-based verification
0.312018
Verifying Properties of Binarized Deep Neural Networks · AAAI 2018
Automated reasoning and model checking
satisfiability
0.312018
Verifying Properties of Binarized Deep Neural Networks · AAAI 2018
Network management and operations › network configuration
network configuration synthesis
0.312017
Correct by Construction Networks Using Stepwise Refinement · NSDI 2017
Network management and operations
network verification
0.312017
Correct by Construction Networks Using Stepwise Refinement · NSDI 2017
Program synthesis and code generation › domain-specific code generation
device driver synthesis
0.322014
User-Guided Device Driver Synthesis · OSDI 2014
Automatic device driver synthesis with termite · SOSP 2009
Operating systems › i/o › i/o subsystem
device drivers
0.232014
Automatic device driver synthesis with termite · SOSP 2009
Dingo: taming device drivers · EuroSys 2009
User-Guided Device Driver Synthesis · OSDI 2014
Operating systems › resource management › process management › CPU scheduling
preemptive scheduling
0.212015
From Non-preemptive to Preemptive Scheduling Using Synchronization Synthesis · CAV (2) 2015
Concurrent programming › synchronization
synchronization synthesis
0.212015
From Non-preemptive to Preemptive Scheduling Using Synchronization Synthesis · CAV (2) 2015
Embedded and real-time systems
real-time scheduling
0.212015
From Non-preemptive to Preemptive Scheduling Using Synchronization Synthesis · CAV (2) 2015
Automata and formal languages › regular games
reachability games
0.212015
SAT-Based Strategy Extraction in Reachability Games · AAAI 2015
Automated reasoning and model checking
reactive synthesis
0.212015
SAT-Based Strategy Extraction in Reachability Games · AAAI 2015
Automated reasoning and model checking › synthesis
strategy extraction
0.212015
SAT-Based Strategy Extraction in Reachability Games · AAAI 2015
Database theory
expressive power
0.212023
DBSP: Automatic Incremental View Maintenance for Rich Query Languages · Proc. VLDB Endow. 2023
Debugging and program repair › automated program repair
concurrency bug fixing
0.212014
Regression-Free Synthesis for Concurrency · CAV 2014
Algorithmic game theory and mechanism design
game solving
0.212014
Solving Games without Controllable Predecessor · CAV 2014
Compilers and program optimization › program transformation
semantics-preserving transformation
0.212013
Efficient Synthesis for Concurrency by Semantics-Preserving Transformations · CAV 2013

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

declarative programming · 0.9abstract interpretation · 0.8program synthesis · 0.7static labeling · 0.7relational algebra · 0.7faceted labeling · 0.7dynamic taint analysis · 0.7datalog · 0.7counterexample-guided search · 0.7boolean encoding · 0.7SAT solver · 0.7DBSP · 0.7SAT solving · 0.5hardware verification reuse · 0.2interpolation · 0.2SAT encoding · 0.2program transformation · 0.2formal specification · 0.1
YearPublicationVenuePosition
2025 DBSP: automatic incremental view maintenance for rich query languages
Mihai Budiu, Leonid Ryzhyk, Gerd Zellweger, Ben Pfaff, Lalith Suresh 0001, Simon Kassing, Abhinav Gyawali, Matei Budiu, Tej Chajed, Frank McSherry, Val Tannen
VLDB J.2
2023 DBSP: Automatic Incremental View Maintenance for Rich Query Languages
abstract
Incremental view maintenance (IVM) has long been a central problem in database theory. Many solutions have been proposed for restricted classes of database languages, such as the relational algebra, or Datalog. These techniques do not naturally generalize to richer languages. In this paper we give a general, heuristic-free solution to this problem in 3 steps: (1) we describe a simple but expressive language called DBSP for describing computations over data streams; (2) we give a new mathematical definition of IVM and a general algorithm for solving IVM for arbitrary DBSP programs, and (3) we show how to model many rich database query languages using DBSP (including the full relational algebra, queries over sets and multisets, arbitrarily nested relations, aggregation, flatmap (unnest), monotonic and non-monotonic recursion, streaming aggregation, and arbitrary compositions of all of these). SQL and Datalog can both be implemented in DBSP. As a consequence, we obtain efficient incremental view maintenance algorithms for queries written in all these languages.
Mihai Budiu, Tej Chajed, Frank McSherry, Leonid Ryzhyk, Val Tannen
Proc. VLDB Endow.4
2022 Full-stack SDN
abstract
The conventional approach for building software-defined network systems requires separately developing the management, control, and data planes. Manually written code connects the management plane's configuration to the control plane, and the control plane generates the data planes' configurations as small program fragments that scatter across the codebase. Scalability and correctness become increasingly challenging as such a system develops and grows.
Debnil Sur, Ben Pfaff, Leonid Ryzhyk, Mihai Budiu
HotNets3
2021 Cloud-Scale Runtime Verification of Serverless Applications
abstract
Serverless platforms aim to simplify the deployment, scaling, and management of cloud applications. Serverless applications are inherently distributed, and are executed using shortlived ephemeral processes. The use of short-lived ephemeral processes simplifies application scaling and management, but also means that existing approaches to monitoring distributed systems and detecting bugs cannot be applied to serverless applications. In this paper we propose Watchtower, a framework that enables runtime monitoring of serverless applications. Watchtower takes program properties as inputs, and can detect cases where applications violate these properties. We design Watchtower to minimize application changes, and to scale at the same rate as the application. We achieve the former by instrumenting libraries rather than application code, and the latter by structuring Watchtower as a serverless application. Once a bug is found, developers can use the Watchtower debugger to identify and address the root cause of the bug.
Kalev Alpernas, Aurojit Panda, Leonid Ryzhyk, Shmuel Sagiv
SoCC3
2020 Building Scalable and Flexible Cluster Managers Using Declarative Programming
Lalith Suresh 0001, João Loff, Faria Kalim, Sangeetha Abdu Jyothi, Nina Narodytska, Leonid Ryzhyk, Sahan Gamage, Brian Oki, Pranshu Jain, Michael Gasch
OSDI6
2019 BDD-Based Algorithms for Packet Classification
abstract
Packet classifiers are the building blocks of modern networking. A classifier determines the action to take on a packet by matching its header against a set of rules. Efficient classification is achieved by using associative memory to perform the match operation in one clock cycle. This requires compressing large rule sets to fit in the small associative memory space available in modern network switches. We propose two symbolic rule set compression algorithms based on binary decision diagrams. Following McGeer and Yalagandula, we formalize the problem as that of obtaining a sequential cover of the rule set. We develop a simple BDD-based algorithm for computing sequential covers, which significantly outperforms state of the art algorithms in terms of compression ratio-a surprising result that highlights the unexplored potential of symbolic techniques in packet classification. Despite this improvement, very large industrial classifiers are still beyond reach. We decompose such classifiers into a pipeline of smaller classifiers over subsets of packet header fields. We then compress each classifier using the sequential cover technique. Our algorithm is able to compress industrial rule sets with hundreds of thousands rules to readily fit in the memory of network switches.
Nina Narodytska, Leonid Ryzhyk, Igor Ganichev, Soner Sevinc
FMCAD2
2019 RedLeaf: Towards An Operating System for Safe and Verified Firmware
abstract
RedLeaf is a new operating system being developed from scratch to utilize formal verification for implementing provably secure firmware. RedLeaf is developed in a safe language, Rust, and relies on automated reasoning using satisfiability modulo theories (SMT) solvers for formal verification. RedLeaf builds on two premises: (1) Rust's linear type system enables practical language safety even for systems with tightest performance and resource budgets (e.g., firmware), and (2) a combination of SMT-based reasoning and pointer discipline enforced by linear types provides a unique way to automate and simplify verification effort scaling it to the size of a small OS kernel.
Vikram Narayanan, Marek S. Baranowski, Leonid Ryzhyk, Zvonimir Rakamaric, Anton Burtsev
HotOS3
2019 Synthesizing Cluster Management Code for Distributed Systems
abstract
Management planes for data-center systems are complicated to develop, test, maintain, and evolve. They routinely grapple with hard combinatorial optimization problems like load balancing, placement, scheduling, rolling upgrades and configuration management. To tackle these problems, developers are left with two bad choices: (i) develop ad-hoc mechanisms for systems to solve these optimization problems, or (ii) use specialized solvers that require steep engineering effort.
Lalith Suresh 0001, João Loff, Nina Narodytska, Leonid Ryzhyk, Shmuel Sagiv, Brian Oki
HotOS4
2019 Simple and precise static analysis of untrusted Linux kernel extensions
abstract
Extended Berkeley Packet Filter (eBPF) is a Linux subsystem that allows safely executing untrusted user-defined extensions inside the kernel. It relies on static analysis to protect the kernel against buggy and malicious extensions. As the eBPF ecosystem evolves to support more complex and diverse extensions, the limitations of its current verifier, including high rate of false positives, poor scalability, and lack of support for loops, have become a major barrier for developers.
Elazar Gershuni, Nadav Amit, Arie Gurfinkel, Nina Narodytska, Jorge A. Navas, Noam Rinetzky, Leonid Ryzhyk, Shmuel Sagiv
PLDI7
2018 Verifying Properties of Binarized Deep Neural Networks
abstract
Understanding properties of deep neural networks is an important challenge in deep learning. In this paper, we take a step in this direction by proposing a rigorous way of verifying properties of a popular class of neural networks, Binarized Neural Networks, using the well-developed means of Boolean satisfiability. Our main contribution is a construction that creates a representation of a binarized neural network as a Boolean formula. Our encoding is the first exact Boolean representation of a deep neural network. Using this encoding, we leverage the power of modern SAT solvers along with a proposed counterexample-guided search procedure to verify various properties of these networks. A particular focus will be on the critical property of robustness to adversarial perturbations. For this property, our experimental results demonstrate that our approach scales to medium-size deep neural networks used in image classification tasks. To the best of our knowledge, this is the first work on verifying properties of deep neural networks using an exact Boolean encoding of the network.
Nina Narodytska, Shiva Prasad Kasiviswanathan, Leonid Ryzhyk, Shmuel Sagiv, Toby Walsh
AAAI3
2018 Secure serverless computing using dynamic information flow control
abstract
The rise of serverless computing provides an opportunity to rethink cloud security. We present an approach for securing serverless systems using a novel form of dynamic information flow control (IFC). We show that in serverless applications, the termination channel found in most existing IFC systems can be arbitrarily amplified via multiple concurrent requests, necessitating a stronger termination-sensitive non-interference guarantee, which we achieve using a combination of static labeling of serverless processes and dynamic faceted labeling of persistent data. We describe our implementation of this approach on top of JavaScript for AWS Lambda and OpenWhisk serverless platforms, and present three realistic case studies showing that it can enforce important IFC security properties with modest overhead.
Kalev Alpernas, Cormac Flanagan, Sadjad Fouladi, Leonid Ryzhyk, Shmuel Sagiv, Thomas Schmitz 0001, Keith Winstein
Proc. ACM Program. Lang.4
2017 System Programming in Rust: Beyond Safety
abstract
Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the superpowers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.
Abhiram Balasubramanian, Marek S. Baranowski, Anton Burtsev, Aurojit Panda, Zvonimir Rakamaric, Leonid Ryzhyk
HotOS6
2017 Correct by Construction Networks Using Stepwise Refinement
Leonid Ryzhyk, Nikolaj S. Bjørner, Marco Canini, Jean-Baptiste Jeannin, Cole Schlesinger, Douglas B. Terry, George Varghese
NSDI1
2017 From non-preemptive to preemptive scheduling using synchronization synthesis
abstract
We present a computer-aided programming approach to concurrency. The approach allows programmers to program assuming a friendly, non-preemptive scheduler, and our synthesis procedure inserts synchronization to ensure that the final program works even with a preemptive scheduler. The correctness specification is implicit, inferred from the non-preemptive behavior. Let us consider sequences of calls that the program makes to an external interface. The specification requires that any such sequence produced under a preemptive scheduler should be included in the set of sequences produced under a non-preemptive scheduler. We guarantee that our synthesis does not introduce deadlocks and that the synchronization inserted is optimal w.r.t. a given objective function. The solution is based on a finitary abstraction, an algorithm for bounded language inclusion modulo an independence relation, and generation of a set of global constraints over synchronization placements. Each model of the global constraints set corresponds to a correctness-ensuring synchronization placement. The placement that is optimal w.r.t. the given objective function is chosen as the synchronization solution. We apply the approach to device-driver programming, where the driver threads call the software interface of the device and the API provided by the operating system. Our experiments demonstrate that our synthesis method is precise and efficient. The implicit specification helped us find one concurrency bug previously missed when model-checking using an explicit, user-provided specification. We implemented objective functions for coarse-grained and fine-grained locking and observed that different synchronization placements are produced for our experiments, favoring a minimal number of synchronization operations or maximum concurrency, respectively.
Pavol Cerný, Edmund M. Clarke, Thomas A. Henzinger, Arjun Radhakrishna, Leonid Ryzhyk, Roopsha Samanta, Thorsten Tarrach
Formal Methods Syst. Des.5
2017 The first reactive synthesis competition (SYNTCOMP 2014)
Swen Jacobs, Roderick Bloem, Romain Brenguier, Rüdiger Ehlers, Timotheus Hell, Robert Könighofer, Guillermo A. Pérez, Jean-François Raskin, Leonid Ryzhyk, Ocan Sankur, Martina Seidl, Leander Tentrup
Int. J. Softw. Tools Technol. Transf.9
2016 A SAT-Based Counterexample Guided Method for Unbounded Synthesis
Alexander Legg, Nina Narodytska, Leonid Ryzhyk
CAV (2)3
2015 SAT-Based Strategy Extraction in Reachability Games
abstract
Reachability games are a useful formalism for the synthesis of reactive systems. Solving a reachability game involves (1) determining the winning player and (2) computing a winning strategy that determines the winning player's action in each state of the game. Recently, a new family of game solvers has been proposed, which rely on counterexample-guided search to compute winning sequences of actions represented as an abstract game tree. While these solvers have demonstrated promising performance in solving the winning determination problem, they currently do not support strategy extraction. We present the first strategy extraction algorithm for abstract game tree-based game solvers. Our algorithm performs SAT encoding of the game abstraction produced by the winner determination algorithm and uses interpolation to compute the strategy. Our experimental results show that our approach performs well on a number of software synthesis benchmarks.
Niklas Eén, Alexander Legg, Nina Narodytska, Leonid Ryzhyk
AAAI4
2015 From Non-preemptive to Preemptive Scheduling Using Synchronization Synthesis
Pavol Cerný, Edmund M. Clarke, Thomas A. Henzinger, Arjun Radhakrishna, Leonid Ryzhyk, Roopsha Samanta, Thorsten Tarrach
CAV (2)5
2014 Regression-Free Synthesis for Concurrency
Pavol Cerný, Thomas A. Henzinger, Arjun Radhakrishna, Leonid Ryzhyk, Thorsten Tarrach
CAV4
2014 Solving Games without Controllable Predecessor
Nina Narodytska, Alexander Legg, Fahiem Bacchus, Leonid Ryzhyk
CAV4
2014 Predicate abstraction for reactive synthesis
abstract
We present a predicate-based abstraction refinement algorithm for solving reactive games. We develop solutions to the key problems involved in implementing efficient predicate abstraction, which previously have not been addressed in game settings: (1) keeping abstractions concise by identifying relevant predicates only, (2) solving abstract games efficiently, and (3) computing and solving abstractions symbolically. We implemented the algorithm as part of an automatic device driver synthesis toolkit and evaluated it by synthesising drivers for several real-world I/O devices. This involved solving game instances that could not be feasibly solved without using abstraction or using simpler forms of abstraction.
Leonid Ryzhyk
FMCAD2
2014 User-Guided Device Driver Synthesis
Leonid Ryzhyk, John Keys, Alexander Legg, Arun Raghunath, Michael Stumm, Mona Vij
OSDI1
2013 Efficient Synthesis for Concurrency by Semantics-Preserving Transformations
Pavol Cerný, Thomas A. Henzinger, Arjun Radhakrishna, Leonid Ryzhyk, Thorsten Tarrach
CAV4
2013 File systems deserve verification too!
abstract
File systems are too important, and current ones are too buggy, to remain unverified. Yet the most successful verification methods for functional correctness remain too expensive for current file system implementations --- we need verified correctness but at reasonable cost. This paper presents our vision and ongoing work to achieve this goal for a new high-performance flash file system, called BilbyFs. BilbyFs is carefully designed to be highly modular, so it can be verified against a high-level functional specification one component at a time. This modular implementation is captured in a set of domain specific languages from which we produce the design-level specification, as well as its optimised C implementation. Importantly, we also automatically generate the proof linking these two artefacts. The combination of these features dramatically reduces verification effort. Verified file systems are now within reach for the first time.
Gabriele Keller, Toby C. Murray, Sidney Amani, Liam O'Connor, Zilin Chen, Leonid Ryzhyk, Gerwin Klein, Gernot Heiser
PLOS@SOSP6
2011 Improved device driver reliability through hardware verification reuse
abstract
Faulty device drivers are a major source of operating system failures. We argue that the underlying cause of many driver faults is the separation of two highly-related tasks: device verification and driver development. These two tasks have a lot in common, and result in software that is conceptually and functionally similar, yet kept totally separate. The result is a particularly bad case of duplication of effort: the verification code is correct, but is discarded after the device has been manufactured; the driver code is inferior, but used in actual device operation. We claim that the two tasks, and the software they produce, can and should be unified, and this will result in drastic improvement of device-driver quality and reduction in the development cost and time to market.
Leonid Ryzhyk, John Keys, Balachandra Mirla, Arun Raghunath, Mona Vij, Gernot Heiser
ASPLOS1
2011 What If You Could Actually Trust Your Kernel?
Gernot Heiser, Leonid Ryzhyk, Michael von Tessin, Aleksander Budzynowski
HotOS2
2009 Dingo: taming device drivers
abstract
Device drivers are notorious for being a major source of failure in operating systems. In analysing a sample of real defects in Linux drivers, we found that a large proportion (39%) of bugs are due to two key shortcomings in the device-driver architecture enforced by current operating systems: poorly-defined communication protocols between drivers and the OS, which confuse developers and lead to protocol violations, and a multithreaded model of computation that leads to numerous race conditions and deadlocks.
Leonid Ryzhyk, Peter Chubb, Ihor Kuz, Gernot Heiser
EuroSys1
2009 Automatic device driver synthesis with termite
abstract
Faulty device drivers cause significant damage through down time and data loss. The problem can be mitigated by an improved driver development process that guarantees correctness by construction. We achieve this by synthesising drivers automatically from formal specifications of device interfaces, thus reducing the impact of human error on driver reliability and potentially cutting down on development costs.
Leonid Ryzhyk, Peter Chubb, Ihor Kuz, Etienne Le Sueur, Gernot Heiser
SOSP1
2007 Formalising device driver interfaces
abstract
The lack of well-defined protocols for interaction with the operating system is a common source of defects in device drivers. In this paper we investigate the use of a formal language to define these protocols unambiguously. We present a language that allows us to convey all important requirements for driver behaviour in a compact specification and that can be readily understood by software engineers. It is intended to close the communication gap between OS and driver developers and enable more reliable device drivers.
Leonid Ryzhyk, Ihor Kuz, Gernot Heiser
PLOS@SOSP1