VLDB 2026 Research / reviewers in the wild / expert
Gernot Heiser
dblp:h/GernotHeiser
· DBLP profile ↗
64ranked-venue papers
11as first author
8since 2021 · last 2025
0000-0002-7069-0831ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 34 · 7 first-author · 4 since 2021Software engineering, systems software and programming languages · 25 · 4 first-author · 6 since 2021Security and privacy · 4Applied, interdisciplinary, general and emerging computing · 3Databases, data management, data science and information retrieval · 2Theory of computation · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Will We Ever have Truly Secure Operating Systems?abstractHalf a century after PSOS, the first attempts to prove an operating system (OS) secure, OS faults remain a major threat to computer systems security.A major step forward was the verification of the seL4 microkernel, the first proof of implementation correctness of an OS kernel.Over the next 4 years this proof was extended to the binary code, proofs of security enforcement, and sound and complete worst-case execution-time analysis.The proofs now cover 4 ISAs.I also discuss more speculative, early-stage work towards a provably secure, general-purpose OS. Gernot Heiser |
ASPLOS (3) | 1 |
| 2025 | High-Fidelity Specification of Real-World DevicesabstractDevice driver bugs are the leading cause of operating-system exploits, and the lack of accurate specifications of device interfaces is a leading cause of driver bugs. We propose to address the specification issue by deriving formal specifications of devices from their Verilog implementation, and prove the correctness of the specification against the implementation. We demonstrate this approach by applying it to an open-source I2C controller. These specifications should enable synthesis or verification of drivers in the future. Liam Murphy 0003, Albert Rizaldi, Lesley Rossouw, Chen George, James Treloar, Hammond A. Pearce, Miki Tanaka, Gernot Heiser |
PLOS@SOSP | 8 |
| 2023 | Formalising the Prevention of Microarchitectural Timing Channels by Operating Systems
Rob Sison, Scott Buckley, Toby C. Murray, Gerwin Klein, Gernot Heiser |
FM | 5 |
| 2023 | AutoCC: Automatic Discovery of Covert Channels in Time-Shared HardwareabstractCovert channels enable information leakage between security domains that should be isolated by observing execution differences in shared hardware. These channels can appear in any stateful shared resource, including caches, predictors, and accelerators. Previous works have identified many vulnerable components, demonstrating and defending against attacks via reverse engineering. However, this approach requires much human effort and reasoning. With the Cambrian explosion of specialized hardware, it is becoming increasingly difficult to identify all vulnerabilities manually. Marcelo Orenes-Vera, Hyunsung Yun, Nils Wistoff, Gernot Heiser, Luca Benini, David Wentzlaff, Margaret Martonosi |
MICRO | 4 |
| 2023 | Pancake: Verified Systems Programming Made SweeterabstractWe introduce Pancake, a new language for verifiable, low-level systems programming, especially device drivers. Pancake eschews complex type systems to make the language attractive to systems programmers, while at the same time aiming to ease the formal verification of code. We describe the design of the language and its verified compiler, and examine its usability, performance and current limitations through case studies of device drivers and related systems components for an seL4-based operating system. Johannes Åman Pohjola, Syeda Hira Taqdees, Miki Tanaka, Krishnan Winter, Tsun Wang Sau, Benjamin Nott, Tiana J. Tsang Ung, Craig McLaughlin, Remy Seassau, Magnus O. Myreen, Michael Norrish, Gernot Heiser |
PLOS@SOSP | 12 |
| 2023 | Systematic Prevention of On-Core Timing Channels by Full Temporal PartitioningabstractMicroarchitectural timing channels enable unwanted information flow across security boundaries, violating fundamental security assumptions. They leverage timing variations of several state-holding microarchitectural components and have been demonstrated across instruction set architectures and hardware implementations. Analogously to memory protection, (Ge et al. 2019) have proposedtime protectionfor preventing information leakage via timing channels. They also showed that time protection calls for hardware support. This work leverages the open and extensible RISC-V instruction set architecture (ISA) to introduce the temporal fence instructionfence.t, which provides the required mechanisms by clearing vulnerable microarchitectural state and guaranteeing a history-independent context-switch latency. We propose and discuss three different implementations offence.tand implement them on an experimental version of the seL4 microkernel (Klein et al. 2014) and CVA6, an open-source, in-order, application class, 64-bit RISC-V core (Zaruba and Benini 2019). We find that a complete, systematic, ISA-supported erasure of all non-architectural core components is the most effective implementation while featuring a low implementation effort, a minimal performance overhead of less than 1%, and negligible hardware costs. Nils Wistoff, Moritz Schneider 0001, Frank K. Gürkaynak, Gernot Heiser, Luca Benini |
IEEE Trans. Computers | 4 |
| 2022 | Property-Based Testing: Climbing the Stairway to VerificationabstractProperty-based testing (PBT) is a powerful tool that is widely available in modern programming languages. It has been used to reduce formal software verification effort. We demonstrate how PBT can be used in conjunction with formal verification to incrementally gain greater assurance in code correctness by integrating PBT into the verification framework of Cogent---a programming language equipped with a certifying compiler for developing high-assurance systems components. Specifically, for PBT and formal verification to work in tandem, we structure the tests to mirror the refinement proof that we used in Cogent's verification framework: The expected behaviour of the system under test is captured by a functional correctness specification, which mimics the formal specification of the system, and we test the refinement relation between the implementation and the specification. We exhibit the additional benefits that this mutualism brings to developers and demonstrate the techniques we used in this style of PBT, by studying two concrete examples. Zilin Chen, Christine Rizkallah, Liam O'Connor, Partha Susarla, Gerwin Klein, Gernot Heiser, Gabriele Keller |
SLE | 6 |
| 2021 | Microarchitectural Timing Channels and their Prevention on an Open-Source 64-bit RISC-V CoreabstractMicroarchitectural timing channels use variations in the timing of events, resulting from competition for limited hardware resources, to leak information in violation of the operating system's security policy. Such channels also exist on a simple in-order RISC-V core, as we demonstrate on the open-source RV64GC Ariane core. Time protection, recently proposed and implemented in the seL4 microkernel, aims to prevent timing channels, but depends on a controlled reset of microarchitectural state. Using Ariane, we show that software techniques for performing such a reset are insufficient and highly inefficient. We demonstrate that adding a single flush instruction is sufficient to close all five evaluated channels at negligible hardware costs, while requiring only minor modifications to the software stack. Nils Wistoff, Moritz Schneider 0001, Frank K. Gürkaynak, Luca Benini, Gernot Heiser |
DATE | 5 |
| 2019 | Fault Tolerance Through Redundant Execution on COTS Multicores: Exploring Trade-OffsabstractHigh availability and integrity are paramount in systems deployed in life-and mission-critical scenarios. Such fault-tolerance can be achieved through redundant co-execution (RCoE) on replicated hardware, now cheaply available with multicore processors. RCoE replicates almost all software, including OS kernel, drivers, and applications, achieving a sphere of replication that covers everything except the minimal interfaces to non-replicated peripherals. We complement our original, loosely-coupled RCoE with a closely-coupled version that improves transparency of replication to application code, and investigate the functionality, performance and vulnerability trade-offs. Yanyan Shen, Gernot Heiser, Kevin Elphinstone |
DSN | 2 |
| 2019 | SoK: Benchmarking Flaws in Systems SecurityabstractProperly benchmarking a system is a difficult and intricate task. Even a seemingly innocuous mistake can compromise the guarantees provided by a systems security defense and threaten reproducibility and comparability. Moreover, as many modern defenses trade security for performance, the damage caused by benchmarking mistakes is increasingly worrying. To analyze the magnitude of the phenomenon, we identify 22 benchmarking flaws that threaten the validity of systems security evaluations, and survey 50 defense papers published in top venues. We show that benchmarking flaws are widespread even in papers published at tier-1 venues; tier-1 papers contain an average of five benchmarking flaws and we find only a single paper in our sample without any benchmarking flaws. Moreover, the scale of the problem appears constant over time, suggesting that the community is not yet taking sufficient countermeasures. This threatens the scientific process, which relies on reproducibility and comparability to ensure that published research advances the state of the art. We hope to raise awareness and provide recommendations for improving benchmarking quality and safeguard the scientific process in our community. Erik van der Kouwe, Gernot Heiser, Dennis Andriesse, Herbert Bos, Cristiano Giuffrida |
EuroS&P | 2 |
| 2019 | Time Protection: The Missing OS AbstractionabstractTiming channels enable data leakage that threatens the security of computer systems, from cloud platforms to smartphones and browsers executing untrusted third-party code. Preventing unauthorised information flow is a core duty of the operating system, however, present OSes are unable to prevent timing channels. We argue that OSes must provide time protection, the temporal equivalent of the established memory protection, for isolating security domains. We examine the requirements of time protection, present a design and its implementation in the seL4 microkernel, and evaluate efficacy and cost on x86 and Arm processors. Qian Ge 0001, Yuval Yarom, Tom Chothia, Gernot Heiser |
EuroSys | 4 |
| 2019 | Can We Prove Time Protection?abstractTiming channels are a significant and growing security threat in computer systems, with no established solution. We have recently argued that the OS must provide time protection, in analogy to the established memory protection, to protect applications from information leakage through timing channels. Based on a recently-proposed implementation of time protection in the seL4 microkernel, we investigate how such an implementation could be formally proved to prevent timing channels. We postulate that this should be possible by reasoning about a highly abstracted representation of the shared hardware resources that cause timing channels. Gernot Heiser, Gerwin Klein, Toby C. Murray |
HotOS | 1 |
| 2018 | Scheduling-context capabilities: a principled, light-weight operating-system mechanism for managing timeabstractMixed-criticality systems (MCS) combine real-time components of different levels of criticality - i.e. severity of failure - on the same processor, in order to obtain good resource utilisation. They must be able to guarantee deadlines of highly-critical threads without any dependence on less-critical threads. This requires strong temporal isolation, similar to the spatial isolation that is traditionally provided by operating systems, without unnecessary loss of processor utilisation. We present a model that uses scheduling contexts as first-class objects to represent time, and integrates seamlessly with the capability-based protection model of the seL4 microkernel. We show that the model comes with minimal overhead, and supports implementation of arbitrary scheduling policies as well as criticality switches at user level. Anna Lyons, Kent McLeod, Hesham Almatary, Gernot Heiser |
EuroSys | 4 |
| 2017 | The Cogent Case for Property-Based TestingabstractProperty-based testing can play an important role in reducing the cost of formal verification: It has been demonstrated to be effective at detecting bugs and finding inconsistencies in specifications, and thus can eliminate effort wasted on fruitless proof attempts. We argue that in addition, property-based testing enables an incremental approach to a fully verified system, by allowing replacement of automatically generated tests of properties stated in the specification by formal proofs. We demonstrate this approach on the verification of systems code, discuss the implications on systems design, and outline the integration of property-based testing into the Cogent framework. Zilin Chen, Liam O'Connor, Gabriele Keller, Gerwin Klein, Gernot Heiser |
PLOS@SOSP | 5 |
| 2017 | High-assurance timing analysis for a high-assurance real-time operating system
Thomas Sewell, Felix Kam, Gernot Heiser |
Real Time Syst. | 3 |
| 2016 | CoGENT: Verifying High-Assurance File System ImplementationsabstractWe present an approach to writing and formally verifying high-assurance file-system code in a restricted language called Cogent, supported by a certifying compiler that produces C code, high-level specification of Cogent, and translation correctness proofs. The language is strongly typed and guarantees absence of a number of common file system implementation errors. We show how verification effort is drastically reduced for proving higher-level properties of the file system implementation by reasoning about the generated formal specification rather than its low-level C code. We use the framework to write two Linux file systems, and compare their performance with their native C implementations. Sidney Amani, Alex Hixon, Zilin Chen, Christine Rizkallah, Peter Chubb, Liam O'Connor, Joel Beeren, Yutaka Nagashima, Japheth Lim, Thomas Sewell, Joseph Tuong, Gabriele Keller, Toby C. Murray, Gerwin Klein, Gernot Heiser |
ASPLOS | 15 |
| 2016 | CATalyst: Defeating last-level cache side channel attacks in cloud computingabstractCache side channel attacks are serious threats to multi-tenant public cloud platforms. Past work showed how secret information in one virtual machine (VM) can be extracted by another co-resident VM using such attacks. Recent research demonstrated the feasibility of high-bandwidth, low-noise side channel attacks on the last-level cache (LLC), which is shared by all the cores in the processor package, enabling attacks even when VMs are scheduled on different cores. This paper shows how such LLC side channel attacks can be defeated using a performance optimization feature recently introduced in commodity processors. Since most cloud servers use Intel processors, we show how the Intel Cache Allocation Technology (CAT) can be used to provide a system-level protection mechanism to defend from side channel attacks on the shared LLC. CAT is a way-based hardware cache-partitioning mechanism for enforcing quality-of-service with respect to LLC occupancy. However, it cannot be directly used to defeat cache side channel attacks due to the very limited number of partitions it provides. We present CATalyst, a pseudo-locking mechanism which uses CAT to partition the LLC into a hybrid hardware-software managed cache. We implement a proof-of-concept system using Xen and Linux running on a server with Intel processors, and show that LLC side channel attacks can be defeated. Furthermore, CATalyst only causes very small performance overhead when used for security, and has negligible impact on legacy applications. Fangfei Liu, Qian Ge 0001, Yuval Yarom, Frank McKeen, Carlos V. Rozas, Gernot Heiser, Ruby B. Lee |
HPCA | 6 |
| 2016 | Complete, High-Assurance Determination of Loop Bounds and Infeasible Paths for WCET AnalysisabstractWorst-case execution time (WCET) analysis of real-time code needs to be performed on the executable binary code for soundness. Determination of loop bounds and elimination of infeasible paths, essential for obtaining tight bounds, frequently depends on program state that is difficult to extract from static analysis of the binary. Obtaining this information generally requires manual intervention, or compiler modifications to preserve more semantic information from the source program. We propose an alternative approach, which leverages an existing translation-validation framework, to enable high-assurance, automatic determination of loop bounds and infeasible paths. We show that this approach automatically determines all loop bounds and many (possibly all) infeasible paths in the seL4 microkernel, as well as in standard WCET benchmarks which are in the language subset of our C parser. Thomas Sewell, Felix Kam, Gernot Heiser |
RTAS | 3 |
| 2016 | State of the JournalabstractDiscusses the current state of the journal, reports on current and future areas of exploration and research, and presents new editors. Paolo Montuschi, Edward J. McCluskey, Samarjit Chakraborty, Jason Cong, Ramón M. Rodríguez-Dagnino, Fred Douglis, Lieven Eeckhout, Gernot Heiser, Sushil Jajodia, Ruby B. Lee, Dinesh Manocha, Tomás F. Pena, Isabelle Puaut, Hanan Samet, Donatella Sciuto |
IEEE Trans. Computers | 8 |
| 2016 | L4 Microkernels: The Lessons from 20 Years of Research and DeploymentabstractThe L4 microkernel has undergone 20 years of use and evolution. It has an active user and developer community, and there are commercial versions that are deployed on a large scale and in safety-critical systems. In this article we examine the lessons learnt in those 20 years about microkernel design and implementation. We revisit the L4 design articles and examine the evolution of design and implementation from the original L4 to the latest generation of L4 kernels. We specifically look at seL4, which has pushed the L4 model furthest and was the first OS kernel to undergo a complete formal verification of its implementation as well as a sound analysis of worst-case execution times. We demonstrate that while much has changed, the fundamental principles of minimality, generality, and high inter-process communication (IPC) performance remain the main drivers of design and implementation decisions. Gernot Heiser, Kevin Elphinstone |
ACM Trans. Comput. Syst. | 1 |
| 2015 | Last-Level Cache Side-Channel Attacks are PracticalabstractWe present an effective implementation of the Prime+Probe side-channel attack against the last-level cache. We measure the capacity of the covert channel the attack creates and demonstrate a cross-core, cross-VM attack on multiple versions of GnuPG. Our technique achieves a high attack resolution without relying on weaknesses in the OS or virtual machine monitor or on sharing memory between attacker and victim. Fangfei Liu, Yuval Yarom, Qian Ge 0001, Gernot Heiser, Ruby B. Lee |
IEEE Symposium on Security and Privacy | 4 |
| 2014 | The Last Mile: An Empirical Study of Timing Channels on seL4abstractStorage channels can be provably eliminated in well-designed, high-assurance kernels. Timing channels remain the last mile for confidentiality and are still beyond the reach of formal analysis, so must be dealt with empirically. We perform such an analysis, collecting a large data set (2,000 hours of observations) for two representative timing channels, the locally-exploitable cache channel and a remote exploit of OpenSSL execution timing, on the verified seL4 microkernel. We also evaluate the effectiveness, in bandwidth reduction, of a number of black-box mitigation techniques (cache colouring, instruction-based scheduling and deterministic delivery of server responses) across a number of hardware platforms. Our (somewhat unexpected) results show that while these defences were highly effective a few processor generations ago, the trend towards imprecise events in modern microarchitectures weakens the defences and introduces new channels. This demonstrates the necessity of careful empirical analysis of timing channels. David A. Cock, Qian Ge 0001, Toby C. Murray, Gernot Heiser |
CCS | 4 |
| 2014 | Trickle: Automated infeasible path detection using all minimal unsatisfiable subsetsabstractStatic analysis techniques can be used to compute safe bounds on the worst-case execution time (WCET) of programs. For large programs, abstractions are often required to curb computational complexity. These abstractions may introduce infeasible paths which result in significant overestimation. These paths can be eliminated by adding additional constraints to the static analysis. Such constraints can be found manually but this is labour-intensive and error-prone. Automated methods of finding infeasible path constraints are thus highly desirable. In this paper we present Trickle: a method to automatically detect infeasible paths on compiled binary programs, in order to refine WCET estimates. We build upon the Sequoll framework and apply satisfiability modulo theory (SMT) solvers to find classes of infeasible paths. Unlike other techniques, Trickle can find infeasible paths which contain an arbitrary number of conflicting conditions. We also integrate the compute all minimal unsatisfiable subsets (CAMUS) algorithm to reduce the number of refinement iterations required. We show the practicality of Trickle by applying it to a WCET analysis of the seL4 microkernel. We also evaluate its effectiveness on the Mälardalen WCET benchmarks. Bernard Blackham, Mark H. Liffiton, Gernot Heiser |
RTAS | 3 |
| 2014 | Unifying DVFS and offlining in mobile multicoresabstractEnergy efficiency is a primary design criterion of the modern smartphone due to limitations in battery capacity. Multi-core processors are now commonplace in these devices, which adds a new dimension, the number cores used, to energy management. In this paper we investigate how the mechanisms of frequency scaling and core offlining interact, and how to use them to reduce energy consumption. We find surprising differences in the characteristics of latest-generation smartphones, specifically in the importance of static power. This implies that policies that work well on one processor can lead to poor results on another. We propose a simple policy that integrates core offlining with frequency scaling and implement it in a Linux-based frequency governor called medusa. We show that, despite its simplicity, medusa obtains energy savings that are as good or better than governors presently shipping on the studied phones and approaches the static optimal setting. Aaron Carroll, Gernot Heiser |
RTAS | 2 |
| 2014 | Comprehensive formal verification of an OS microkernelabstractWe present an in-depth coverage of the comprehensive machine-checked formal verification of seL4, a general-purpose operating system microkernel. We discuss the kernel design we used to make its verification tractable. We then describe the functional correctness proof of the kernel's C implementation and we cover further steps that transform this result into a comprehensive formal verification of the kernel: a formally verified IPC fastpath, a proof that the binary code of the kernel correctly implements the C semantics, a proof of correct access-control enforcement, a proof of information-flow noninterference, a sound worst-case execution time analysis of the binary, and an automatic initialiser for user-level systems that connects kernel-level access-control enforcement with reasoning about system behaviour. We summarise these results and show how they integrate to form a coherent overall analysis, backed by machine-checked, end-to-end theorems. The seL4 microkernel is currently not just the only general-purpose operating system kernel that is fully formally verified to this degree. It is also the only example of formal proof of this scale that is kept current as the requirements, design and implementation of the system evolve over almost a decade. We report on our experience in maintaining this evolving formally verified code base. Gerwin Klein, June Andronick, Kevin Elphinstone, Toby C. Murray, Thomas Sewell, Rafal Kolanski, Gernot Heiser |
ACM Trans. Comput. Syst. | 7 |
| 2014 | A Scalable Lock Manager for MulticoresabstractModern implementations of DBMS software are intended to take advantage of high core counts that are becoming common in high-end servers. However, we have observed that several database platforms, including MySQL, Shore-MT, and a commercial system, exhibit throughput collapse as load increases into oversaturation (where there are more request threads than cores), even for a workload with little or no logical contention for locks, such as a read-only workload. Our analysis of MySQL identifies latch contention within the lock manager as the bottleneck responsible for this collapse. We design a lock manager with reduced latching, implement it in MySQL, and show that it avoids the collapse and generally improves performance. Our efficient implementation of a lock manager is enabled by a staged allocation and deallocation of locks. Locks are preallocated in bulk, so that the lock manager only has to perform simple list manipulation operations during the acquire and release phases of a transaction. Deallocation of the lock data structures is also performed in bulk, which enables the use of fast implementations of lock acquisition and release as well as concurrent deadlock checking. Hyungsoo Jung 0001, Hyuck Han, Alan D. Fekete, Gernot Heiser, Heon Young Yeom |
ACM Trans. Database Syst. | 4 |
| 2013 | RapiLog: reducing system complexity through verificationabstractDatabase management systems provide updates with guaranteed durability in the presence of OS crashes or power failures. Durability is achieved by performing synchronous writes to a transaction log on stable, non-volatile storage. The procedure is expensive and several techniques have been devised to ameliorate the impact on overall performance at the cost of increased system complexity. Gernot Heiser, Etienne Le Sueur, Adrian Danis, Aleksander Budzynowski, Tudor-Ioan Salomie, Gustavo Alonso |
EuroSys | 1 |
| 2013 | The von Neumann Architecture Is Due for Retirement
Aleksander Budzynowski, Gernot Heiser |
HotOS | 2 |
| 2013 | Code optimizations using formally verified propertiesabstractFormal program verification offers strong assurance of correctness, backed by the strength of mathematical proof. Constructing these proofs requires humans to identify program invariants, and show that they are always maintained. These invariants are then used to prove that the code adheres to its specification. Bernard Blackham, Gernot Heiser |
OOPSLA | 3 |
| 2013 | Sequoll: A framework for model checking binariesabstractMulti-criticality real-time systems require protected-mode operating systems with bounded interrupt latencies and guaranteed isolation between components. A tight WCET analysis of such systems requires trustworthy information about loop bounds and infeasible paths. We propose sequoll, a framework for employing model checking of binary code to determine loop counts and infeasible paths, as well as validating manual infeasible path annotations which are often error-prone. We show that sequoll automatically determines many of the loop counts in the Malardalen WCET benchmarks. We also show that sequoll computes loop bounds and validates several infeasible path annotations used to reduce the computed WCET bound of seL4, a high-assurance protected microkernel for multi-criticality systems. Bernard Blackham, Gernot Heiser |
IEEE Real-Time and Embedded Technology and Applications Symposium | 2 |
| 2013 | A scalable lock manager for multicoresabstractModern implementations of DBMS software are intended to take advantage of high core counts that are becoming common in high-end servers. However, we have observed that several database platforms, including MySQL, Shore-MT, and a commercial system, exhibit throughput collapse as load increases, even for a workload with little or no logical contention for locks. Our analysis of MySQL identifies latch contention within the lock manager as the bottleneck responsible for this collapse. Hyungsoo Jung 0001, Hyuck Han, Alan D. Fekete, Gernot Heiser, Heon Young Yeom |
SIGMOD Conference | 4 |
| 2013 | From L3 to seL4 what have we learnt in 20 years of L4 microkernels?abstractThe L4 microkernel has undergone 20 years of use and evolution. It has an active user and developer community, and there are commercial versions which are deployed on a large scale and in safety-critical systems. In this paper we examine the lessons learnt in those 20 years about microkernel design and implementation. We revisit the L4 design papers, and examine the evolution of design and implementation from the original L4 to the latest generation of L4 kernels, especially seL4, which has pushed the L4 model furthest and was the first OS kernel to undergo a complete formal verification of its implementation as well as a sound analysis of worst-case execution times. We demonstrate that while much has changed, the fundamental principles of minimality and high IPC performance remain the main drivers of design and implementation decisions. Kevin Elphinstone, Gernot Heiser |
SOSP | 2 |
| 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 | 8 |
| 2012 | Improving interrupt response time in a verifiable protected microkernelabstractMany real-time operating systems (RTOSes) offer very small interrupt latencies, in the order of tens or hundreds of cycles. They achieve this by making the RTOS kernel fully preemptible, permitting interrupts at almost any point in execution except for some small critical sections. One drawback of this approach is that it is difficult to reason about or formally model the kernel's behavior for verification, especially when written in a low-level language such as C. Bernard Blackham, Gernot Heiser |
EuroSys | 3 |
| 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 | 6 |
| 2011 | Low-overhead virtualization of mobile platformsabstractMobile platforms are becoming as powerful as PCs were not too long ago. The complexity of their software stacks also starts rivalling those of PCs, and increasingly they run operating systems which originated in the desktop world. It should therefore not be too surprising that another phenomenon familiar from the server and desktop world, virtualization, is taking a foothold in mobile platforms. The talk will outline the motivation for using virtualization on mobile devices, especially smartphones. These mostly relate to efficient use and management of hardware resources, cost and security issues. We will also discuss the overheads imposed by a high-performance hypervisor. Gernot Heiser |
CASES | 1 |
| 2011 | Virtualizing embedded systems: why bother?abstractPlatform virtualization, which supports the co-existence of multiple operating-system environments on a single physical platform, is now commonplace in server computing, as it can provide similar isolation as separate physical servers, but with improved resource utilisation. Gernot Heiser |
DAC | 1 |
| 2011 | What If You Could Actually Trust Your Kernel?
Gernot Heiser, Leonid Ryzhyk, Michael von Tessin, Aleksander Budzynowski |
HotOS | 1 |
| 2011 | Timing Analysis of a Protected Operating System KernelabstractOperating systems offering virtual memory and protected address spaces have been an elusive target of static worst-case execution time (WCET) analysis. This is due to a combination of size, unstructured code and tight coupling with hardware. As a result, hard real-time systems are usually developed without memory protection, perhaps utilizing a lightweight real-time executive to provide OS abstractions. This paper presents a WCET analysis of seL4, a third-generation micro kernel. seL4 is the world's first formally-verified operating-system kernel, featuring machine-checked correctness proofs of its complete functionality. This makes seL4 an ideal platform for security-critical systems. Adding temporal guarantees makes seL4 also a compelling platform for safety- and timing-critical systems. It creates a foundation for integrating hard real-time systems with less critical time-sharing components on the same processor, supporting enhanced functionality while keeping hardware and development costs low. We believe this is one of the largest code bases on which a fully context-aware WCET analysis has been performed. This analysis is made possible due to the minimalistic nature of modern micro kernels, and properties of seL4's source code arising from the requirements of formal verification. Bernard Blackham, Sudipta Chattopadhyay 0001, Abhik Roychoudhury, Gernot Heiser |
RTSS | 5 |
| 2011 | Slow Down or Sleep, That Is the Question
Etienne Le Sueur, Gernot Heiser |
USENIX ATC | 2 |
| 2010 | An Analysis of Power Consumption in a Smartphone
Aaron Carroll, Gernot Heiser |
USENIX ATC | 2 |
| 2009 | Hypervisors for Consumer ElectronicsabstractVirtualization, well established in enterprise computing, is finding its way into embedded systems. However, the use cases differ dramatically between the domains, and this results in significant differences in the requirements on the virtual-machine technology. This paper examines a number of typical virtualization use cases from the CE domain, and the resulting requirements imposed on the hypervisor. We find that enterprise-style hypervisors are ill-matched to the requirements of the embedded domain, which are characterised by low-overhead communication, realtime capability, small memory footprint, small trusted computing base, and fine-grained control over security. We present the OKL4 hypervisor, a member of the L4 microkernel family, designed for embedded-systems use. We outline OKL4's relevant properties with an emphasis on its security mechanisms, and compare its performance to a version of Xen that has recently been promoted for CE use. We conclude that OKL4 is superior to enterprise-style hypervisors for use in CE devices. Gernot Heiser |
CCNC | 1 |
| 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 | 4 |
| 2009 | Koala: a platform for OS-level power managementabstractManaging the power consumption of computing platforms is a complicated problem thanks to a multitude of hardware configuration options and characteristics. Much of the academic research is based on unrealistic assumptions, and has, therefore, seen little practical uptake. We provide an overview of the difficulties facing power management schemes when used in real systems. David C. Snowdon, Etienne Le Sueur, Stefan M. Petters, Gernot Heiser |
EuroSys | 4 |
| 2009 | seL4: formal verification of an OS kernelabstractComplete formal verification is the only known way to guarantee that a system is free of programming errors.We present our experience in performing the formal, machine-checked verification of the seL4 microkernel from an abstract specification down to its C implementation. We assume correctness of compiler, assembly code, and hardware, and we used a unique design approach that fuses formal and operating systems techniques. To our knowledge, this is the first formal proof of functional correctness of a complete, general-purpose operating-system kernel. Functional correctness means here that the implementation always strictly follows our high-level abstract specification of kernel behaviour. This encompasses traditional design and implementation safety properties such as the kernel will never crash, and it will never perform an unsafe operation. It also proves much more: we can predict precisely how the kernel will behave in every possible situation.seL4, a third-generation microkernel of L4 provenance, comprises 8,700 lines of C code and 600 lines of assembler. Its performance is comparable to other high-performance L4 kernels. Gerwin Klein, Kevin Elphinstone, Gernot Heiser, June Andronick, David A. Cock, Philip Derrin, Dhammika Elkaduwe, Kai Engelhardt, Rafal Kolanski, Michael Norrish, Thomas Sewell, Harvey Tuch, Simon Winwood |
SOSP | 3 |
| 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 | 5 |
| 2009 | vNUMA: A Virtual Shared-Memory Multiprocessor
Matthew Chapman, Gernot Heiser |
USENIX ATC | 2 |
| 2007 | Accurate on-line prediction of processor and memoryenergy usage under voltage scalingabstractMinimising energy use is an important factor in the operation of many classes of embedded systems - in particular, battery-powered devices. Dynamic voltage and frequency scaling (DVFS) provides some control over a processor's performance and energy consumption. In order to employ DVFS for managing a system's energy use, it is necessary to predict the effect this scaling has on the system's total energy consumption. Simple (yet widely-used) energy models lead to dramatically incorrect results for important classes of application programs. David C. Snowdon, Stefan M. Petters, Gernot Heiser |
EMSOFT | 3 |
| 2007 | Towards a Practical, Verified Kernel
Kevin Elphinstone, Gerwin Klein, Philip Derrin, Timothy Roscoe, Gernot Heiser |
HotOS | 5 |
| 2007 | Hype and Virtue
Timothy Roscoe, Kevin Elphinstone, Gernot Heiser |
HotOS | 3 |
| 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 | 3 |
| 2007 | Reboots Are for Hardware: Challenges and Solutions to Updating an Operating System on the Fly
Andrew Baumann, Jonathan Appavoo, Robert W. Wisniewski, Dilma Da Silva, Orran Krieger, Gernot Heiser |
USENIX ATC | 6 |
| 2007 | CAmkES: A component model for secure microkernel-based embedded systems
Ihor Kuz, Yan Liu 0001, Ian Gorton, Gernot Heiser |
J. Syst. Softw. | 4 |
| 2006 | Panel: Is University Systems Teaching and Research Relevant to Industry?
Gernot Heiser |
USENIX ATC, General Track | 1 |
| 2005 | OS Verification - Now!
Harvey Tuch, Gerwin Klein, Gernot Heiser |
HotOS | 3 |
| 2005 | Pre-virtualization: uniting two worldsabstractVirtual machines are used in an increasingly varied set of application scenarios that favor different trade-offs. The virtual machine (VM) is an attractive solution, since it enables the use of the same operating systems across the scenarios, while permitting substitution of different hypervisors appropriate for the trade-offs. One of these scenarios is server consolidation, where a number of machines are replaced by VMs running on a single physical machine, increasing resource utilization. Another attractive scenario is the use of a VM to add features to an OS that contradict the design of the OS, such as enabling secure computing platforms with strictly controlled information flow. These two scenarios have dramatically different performance versus security trade offs, easily addressed by using different hypervisors. Joshua LeVasseur, Volkmar Uhlig, Ben Leslie, Matthew Chapman, Gernot Heiser |
SOSP | 5 |
| 2005 | Providing Dynamic Update in an Operating System
Andrew Baumann, Gernot Heiser, Jonathan Appavoo, Dilma Da Silva, Orran Krieger, Robert W. Wisniewski, Jeremy Kerr |
USENIX ATC, General Track | 2 |
| 2005 | Implementing Transparent Shared Memory on Clusters Using Virtual Machines
Matthew Chapman, Gernot Heiser |
USENIX ATC, General Track | 2 |
| 2005 | Itanium - A System Implementor's Tale(Awarded General Track Best Student Paper Award!)
Charles Gray, Matthew Chapman, Peter Chubb, David Mosberger, Gernot Heiser |
USENIX ATC, General Track | 5 |
| 2005 | User-Level Device Drivers: Achieved Performance
Ben Leslie, Peter Chubb, Nicholas Fitzroy-Dale, Stefan Götz 0004, Charles Gray, Luke Macpherson, Daniel Potts, Yue-Ting Shen, Kevin Elphinstone, Gernot Heiser |
J. Comput. Sci. Technol. | 10 |
| 2001 | Secure OS Extensibility Needn't Cost an Arm and a LegabstractThis paper makes the claim that secure extensibility of operating systems is not only desirable but also achievable. We claim that OS extensibility should be done at user-level to avoid the security problems inherent in other approaches. We furthermore claim (backed up by some initial results) that user-level extensibility is possible at a performance that is similar to in-kernel extensions. Finally, user-level extensions allow the use of modern software engineering techniques. Antony Edwards, Gernot Heiser |
HotOS | 2 |
| 1999 | Linking Programs in a Single Address Space
Luke Deller, Gernot Heiser |
USENIX ATC, General Track | 2 |
| 1998 | The Mungi Single-Address-Space Operating SystemabstractSingle-Address-Space Operating Systems (SASOS) are an attractive model for making the best use of the wide address space provided by the latest generations of microprocessors. SASOS remove the address space boundaries which make data sharing between processes difficult and expensive in traditional operating systems. They offer the potential of significant performance advantages for applications where sharing is important, such as object-oriented databases or persistent programming systems. We have built the Mungi system to demonstrate that a SASOS can offer these performance advantages without resorting to special hardware. Mungi is a very ‘pure’ SASOS, featuring an unintrusive protection model based on sparse capabilities, a fast protected procedure call mechanism, and uses shared memory as the exclusive inter-process communication mechanism, as well as for I/O. The simplicity of our model makes it easy to implement it efficiently on conventional architectures. Our implementation of Mungi for the MIPS R4600 64-bit microprocessor is presented, which is based on our port of the L4 microkernel. Mungi is shown to outperform, in some instances by more than an order of magnitude, two UNIX operating systems, Irix and Linux, in several important operations, such as task creation and inter-process communications, and on the OO1 object-oriented database benchmark. As well, we describe how our approach to key issues in SASOS design provides better performance than other systems, such as Opal. Our experience shows that the SASOS concept is viable, and that a well-designed microkernel is an excellent base on which to build high-performance operating systems. © 1998 John Wiley & Sons, Ltd. Gernot Heiser, Kevin Elphinstone, Jerry Vochteloo, Stephen Russell 0004, Jochen Liedtke |
Softw. Pract. Exp. | 1 |
| 1991 | Three-dimensional numerical semiconductor device simulation: algorithms, architectures, resultsabstractThe authors present SECOND, a program for large-scale semiconductor device simulation with truly three-dimensional grids. Since 3-D simulations necessitate large computing resources, the choice of algorithms and their implementation become of utmost importance. The authors investigated the most commonly used numerical algorithms for the solution of the classical drift-diffusion equations. The study included coupled and noncoupled point and block schemes, direct and preconditioned iterative linear solvers, and several distinct ordering and coloring techniques. Structures with regular and irregular grids were analyzed. These algorithms were compared on a variety of machines including workstations, minisupers, and supercomputers. Results of transient simulations are presented to illustrate the approach.> Gernot Heiser, Claude Pommerell, Jürgen Weis, Wolfgang Fichtner |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 1 |