Demo Data from SIGIR 2026 / reviewers in the wild / expert
Leonid Ryzhyk
dblp:91/7451
· DBLP profile ↗
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
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Query processing and optimization › view maintenance
incremental view maintenance |
1.5 | 2 | 2025 | 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.9 | 1 | 2025 | DBSP: automatic incremental view maintenance for rich query languages · VLDB J. 2025 |
Data stream processing
stream query languages |
0.7 | 1 | 2023 | DBSP: Automatic Incremental View Maintenance for Rich Query Languages · Proc. VLDB Endow. 2023 |
Programming languages and type systems › programming paradigms
declarative programming |
0.4 | 1 | 2020 | Building Scalable and Flexible Cluster Managers Using Declarative Programming · OSDI 2020 |
Cloud and datacenter computing
cluster resource management and scheduling |
0.4 | 1 | 2020 | Building Scalable and Flexible Cluster Managers Using Declarative Programming · OSDI 2020 |
Systems and software security › operating system security
kernel security |
0.4 | 1 | 2019 | Simple and precise static analysis of untrusted Linux kernel extensions · PLDI 2019 |
Program analysis
static analysis |
0.4 | 1 | 2019 | Simple and precise static analysis of untrusted Linux kernel extensions · PLDI 2019 |
Program synthesis and code generation
concurrent program synthesis |
0.4 | 2 | 2014 | 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.3 | 1 | 2018 | Verifying Properties of Binarized Deep Neural Networks · AAAI 2018 |
Machine learning › Trustworthy machine learning
robustness |
0.3 | 1 | 2018 | Verifying Properties of Binarized Deep Neural Networks · AAAI 2018 |
Systems and software security › information flow control
dynamic information flow control |
0.3 | 1 | 2018 | Secure serverless computing using dynamic information flow control · Proc. ACM Program. Lang. 2018 |
Systems and software security
information flow control |
0.3 | 1 | 2018 | Secure serverless computing using dynamic information flow control · Proc. ACM Program. Lang. 2018 |
Cloud and datacenter computing
serverless computing |
0.3 | 1 | 2018 | Secure serverless computing using dynamic information flow control · Proc. ACM Program. Lang. 2018 |
Cloud and datacenter computing › serverless computing
serverless security |
0.3 | 1 | 2018 | Secure serverless computing using dynamic information flow control · Proc. ACM Program. Lang. 2018 |
Automated reasoning and model checking › satisfiability
SAT-based verification |
0.3 | 1 | 2018 | Verifying Properties of Binarized Deep Neural Networks · AAAI 2018 |
Automated reasoning and model checking
satisfiability |
0.3 | 1 | 2018 | Verifying Properties of Binarized Deep Neural Networks · AAAI 2018 |
Network management and operations › network configuration
network configuration synthesis |
0.3 | 1 | 2017 | Correct by Construction Networks Using Stepwise Refinement · NSDI 2017 |
Network management and operations
network verification |
0.3 | 1 | 2017 | Correct by Construction Networks Using Stepwise Refinement · NSDI 2017 |
Program synthesis and code generation › domain-specific code generation
device driver synthesis |
0.3 | 2 | 2014 | 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.2 | 3 | 2014 | 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.2 | 1 | 2015 | From Non-preemptive to Preemptive Scheduling Using Synchronization Synthesis · CAV (2) 2015 |
Concurrent programming › synchronization
synchronization synthesis |
0.2 | 1 | 2015 | From Non-preemptive to Preemptive Scheduling Using Synchronization Synthesis · CAV (2) 2015 |
Embedded and real-time systems
real-time scheduling |
0.2 | 1 | 2015 | From Non-preemptive to Preemptive Scheduling Using Synchronization Synthesis · CAV (2) 2015 |
Automata and formal languages › regular games
reachability games |
0.2 | 1 | 2015 | SAT-Based Strategy Extraction in Reachability Games · AAAI 2015 |
Automated reasoning and model checking
reactive synthesis |
0.2 | 1 | 2015 | SAT-Based Strategy Extraction in Reachability Games · AAAI 2015 |
Automated reasoning and model checking › synthesis
strategy extraction |
0.2 | 1 | 2015 | SAT-Based Strategy Extraction in Reachability Games · AAAI 2015 |
Database theory
expressive power |
0.2 | 1 | 2023 | DBSP: Automatic Incremental View Maintenance for Rich Query Languages · Proc. VLDB Endow. 2023 |
Debugging and program repair › automated program repair
concurrency bug fixing |
0.2 | 1 | 2014 | Regression-Free Synthesis for Concurrency · CAV 2014 |
Algorithmic game theory and mechanism design
game solving |
0.2 | 1 | 2014 | Solving Games without Controllable Predecessor · CAV 2014 |
Compilers and program optimization › program transformation
semantics-preserving transformation |
0.2 | 1 | 2013 | 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
| Year | Publication | Venue | Position |
|---|---|---|---|
| 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 LanguagesabstractIncremental 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 SDNabstractThe 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 |
HotNets | 3 |
| 2021 | Cloud-Scale Runtime Verification of Serverless ApplicationsabstractServerless 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 |
SoCC | 3 |
| 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 |
OSDI | 6 |
| 2019 | BDD-Based Algorithms for Packet ClassificationabstractPacket 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 |
FMCAD | 2 |
| 2019 | RedLeaf: Towards An Operating System for Safe and Verified FirmwareabstractRedLeaf 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 |
HotOS | 3 |
| 2019 | Synthesizing Cluster Management Code for Distributed SystemsabstractManagement 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 |
HotOS | 4 |
| 2019 | Simple and precise static analysis of untrusted Linux kernel extensionsabstractExtended 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 |
PLDI | 7 |
| 2018 | Verifying Properties of Binarized Deep Neural NetworksabstractUnderstanding 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 |
AAAI | 3 |
| 2018 | Secure serverless computing using dynamic information flow controlabstractThe 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 SafetyabstractRust 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 |
HotOS | 6 |
| 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 |
NSDI | 1 |
| 2017 | From non-preemptive to preemptive scheduling using synchronization synthesisabstractWe 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 GamesabstractReachability 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 |
AAAI | 4 |
| 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 |
CAV | 4 |
| 2014 | Solving Games without Controllable Predecessor
Nina Narodytska, Alexander Legg, Fahiem Bacchus, Leonid Ryzhyk |
CAV | 4 |
| 2014 | Predicate abstraction for reactive synthesisabstractWe 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 |
FMCAD | 2 |
| 2014 | User-Guided Device Driver Synthesis
Leonid Ryzhyk, John Keys, Alexander Legg, Arun Raghunath, Michael Stumm, Mona Vij |
OSDI | 1 |
| 2013 | Efficient Synthesis for Concurrency by Semantics-Preserving Transformations
Pavol Cerný, Thomas A. Henzinger, Arjun Radhakrishna, Leonid Ryzhyk, Thorsten Tarrach |
CAV | 4 |
| 2013 | File systems deserve verification too!abstractFile 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@SOSP | 6 |
| 2011 | Improved device driver reliability through hardware verification reuseabstractFaulty 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 |
ASPLOS | 1 |
| 2011 | What If You Could Actually Trust Your Kernel?
Gernot Heiser, Leonid Ryzhyk, Michael von Tessin, Aleksander Budzynowski |
HotOS | 2 |
| 2009 | Dingo: taming device driversabstractDevice 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 |
EuroSys | 1 |
| 2009 | Automatic device driver synthesis with termiteabstractFaulty 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 |
SOSP | 1 |
| 2007 | Formalising device driver interfacesabstractThe 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@SOSP | 1 |