Demo Data from VLDB 2026 / reviewers in the wild / expert
Christoph Borchert
dblp:116/0643
· DBLP profile ↗
12ranked-venue papers
5as first author
2since 2021 · last 2023
0009-0000-8811-8537ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 6 · 3 first-author · 1 since 2021Systems, architecture and hardware · 4 · 2 first-author · 1 since 2021Software engineering, systems software and programming languages · 4 · 1 first-author · 1 since 2021Computer networks · 1 · 1 first-author
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.
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Hardware reliability and fault tolerance · 55% Parallel and multicore computing · 18% Distributed systems · 18% | |
| Software engineering, system software, and programming languages
3 papers |
Concurrent programming · 57% Software maintenance and evolution · 38% Operating systems · 6% |
Topics — the 8 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software maintenance and evolution › software updates
software patching |
0.4 | 1 | 2020 | From Global to Local Quiescence: Wait-Free Code Patching of Multi-Threaded Processes · OSDI 2020 |
Concurrent programming
synchronization |
0.4 | 1 | 2020 | From Global to Local Quiescence: Wait-Free Code Patching of Multi-Threaded Processes · OSDI 2020 |
Concurrent programming › non-blocking algorithms
wait-free synchronization |
0.4 | 1 | 2020 | From Global to Local Quiescence: Wait-Free Code Patching of Multi-Threaded Processes · OSDI 2020 |
Parallel and multicore computing
concurrent data structures |
0.3 | 1 | 2017 | Generic Soft-Error Detection and Correction for Concurrent Data Structures · IEEE Trans. Dependable Secur. Comput. 2017 |
Hardware reliability and fault tolerance
error detection and correction |
0.3 | 1 | 2017 | Generic Soft-Error Detection and Correction for Concurrent Data Structures · IEEE Trans. Dependable Secur. Comput. 2017 |
Hardware reliability and fault tolerance
soft errors |
0.3 | 1 | 2017 | Generic Soft-Error Detection and Correction for Concurrent Data Structures · IEEE Trans. Dependable Secur. Comput. 2017 |
Hardware reliability and fault tolerance
software fault tolerance |
0.3 | 1 | 2017 | Generic Soft-Error Detection and Correction for Concurrent Data Structures · IEEE Trans. Dependable Secur. Comput. 2017 |
Distributed systems › concurrency control
wait-free synchronization |
0.3 | 1 | 2017 | Generic Soft-Error Detection and Correction for Concurrent Data Structures · IEEE Trans. Dependable Secur. Comput. 2017 |
Methods — techniques the papers use, named apart from their topics
aspect-oriented programming · 1.0hamming code · 0.6generative programming · 0.6CRC code · 0.6
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Compiler-Implemented Differential Checksums: Effective Detection and Correction of Transient and Permanent Memory ErrorsabstractThe detection of memory errors is common practice in safety-critical software, for example in the automotive and avionics industry. International safety standards recommend using checksums for protecting critical data in computer memories. Typical implementations verify the checksum before data access and recompute it after modification using the same algorithm. However, we show that this approach can sometimes dramatically worsen the reliability of computer systems with regard to transient memory faults, and also permanent faults remain undetected. A solution with significant conceptual advantages is constituted by differential checksum algorithms, which update the respective checksum without full recomputation on data modification. We present a compiler-based solution that inserts differential checksums into C/C++ data structures automatically to cope with their increased complexity. An extensive fault-injection campaign with the TACLeBench benchmark collection shows that differential checksums reduce silent data corruptions by 95% on average whereas non-differential checksums turn out to be mostly ineffective because they introduce a window of vulnerability. Christoph Borchert, Horst Schirmeier, Olaf Spinczyk |
DSN | 1 |
| 2021 | Decoupling Application Logic from Persistent Memory Frameworks with AspectC++abstractOver the past decade, various systems and software libraries have been developed that provide crash consistency on byte-addressable persistent memory. They often require programmers to adapt their code significantly or to use special compiler plugins. Constant innovation in this evolving field makes it desirable to be able to easily switch to more recent systems without massive code refactoring, and without changing compilers. Marcel Köppen, Birte Friesel, Christoph Borchert, Olaf Spinczyk |
PLOS@SOSP | 3 |
| 2020 | From Global to Local Quiescence: Wait-Free Code Patching of Multi-Threaded Processes
Florian Rommel, Christian Dietrich 0001, Birte Friesel, Marcel Köppen, Christoph Borchert, Michael Müller 0009, Olaf Spinczyk, Daniel Lohmann |
OSDI | 5 |
| 2019 | Cache-Line Transactions: Building Blocks for Persistent Kernel Data Structures Enabled by AspectC++abstractWith the availability of systems that contain large amounts of byte-addressable non-volatile memory (NVRAM), there is a growing need for data structures that can be mapped into a process's address space and be used without data (de-)serialization. While NVRAM is able to retain memory contents during system failure and power loss, data consistency has to be preserved by using transactional operations for data manipulation. Marcel Köppen, Jana Traue, Christoph Borchert, Jörg Nolte, Olaf Spinczyk |
PLOS@SOSP | 3 |
| 2017 | Generic Soft-Error Detection and Correction for Concurrent Data StructuresabstractRecent studies indicate that transient memory errors (soft errors) have become a relevant source of system failures. This paper presents a generic software-based fault-tolerance mechanism that transparently recovers from memory errors in object-oriented program data structures. The main benefits are the flexibility to choose from an extensible toolbox of easily pluggable error detection and correction schemes, such as Hamming and CRC codes. This is achieved by a combination of aspect-oriented and generative programming techniques. Furthermore, we present a wait-free synchronization algorithm for error detection in data structures that are used concurrently by multiple threads of control. We give a formal correctness proof and show the excellent scalability of our approach in a multiprocessor environment. In a case study, we present our experiences with selectively hardening the eCos operating system and its benchmark suite. We explore the trade-off between resiliency and performance by choosing only the most vulnerable data structures for error recovery. Thereby, the total number of system failures, manifesting as silent data corruptions and crashes, is reduced by 69.14 percent at a negligible runtime overhead of 0.36 percent. Christoph Borchert, Horst Schirmeier, Olaf Spinczyk |
IEEE Trans. Dependable Secur. Comput. | 1 |
| 2015 | Avoiding Pitfalls in Fault-Injection Based Comparison of Program Susceptibility to Soft ErrorsabstractSince the first identification of physical causes for soft errors in memory circuits, fault injection (FI) has grown into a standard methodology to assess the fault resilience of computer systems. A variety of FI techniques trying to mimic these physical causes has been developed to measure and compare program susceptibility to soft errors. In this paper, we analyze the process of evaluating programs, which are hardened by software-based hardware fault-tolerance mechanisms, under a uniformly distributed soft-error model. We identify three pitfalls in FI result interpretation widespread in the literature, even published in renowned conference proceedings. Using a simple machine model and transient single-bit faults in memory, we find counterexamples that reveal the unfitness of common practices in the field, and substantiate our findings with real-world examples. In particular, we demonstrate that the fault coverage metric must be abolished for comparing programs. Instead, we propose to use extrapolated absolute failure counts as a valid comparison metric. Horst Schirmeier, Christoph Borchert, Olaf Spinczyk |
DSN | 2 |
| 2015 | Hardening an L4 microkernel against soft errors by aspect-oriented programming and whole-program analysisabstractTransient hardware faults in computer systems have become widespread as shrinking structures and low supply voltages reduce the amount of energy needed to trigger a fault. This paper describes the latest improvements of a software-based fault-tolerance mechanism called Generic Object Protection (GOP). It is based on Aspect-Orientied Programming in AspectC++ and has been used in a case study to harden the L4/Fiasco.OC microkernel. As a result, the improved GOP avoids 60% of kernel failures at an acceptable overhead of 19% code size and less than 1% runtime. The GOP improvements use static whole-program analysis and have been implemented in a prototypical manner. As an outlook, the paper presents envisioned language extensions providing whole-program control-flow and data-flow analyses in future AspectC++ versions. Christoph Borchert, Olaf Spinczyk |
PLOS@SOSP | 1 |
| 2014 | Crosscheck: Hardening Replicated Multithreaded ServicesabstractState-machine replication has received widespread attention for the provisioning of highly available services in data centers. However, current production systems focus on tolerating crash faults only and prominent service outages caused by state corruptions have indicated that this is a risky strategy. In the future, state corruptions due to transient faults (such as bit flips) become even more likely, caused by ongoing hardware trends regarding the shrinking of structure sizes and reduction of operating voltages. In this paper we present Crosscheck, an approach to tolerate arbitrary state corruption (ASC) in the context of fault-tolerant replication of multithreaded services. Crosscheck is able to detect silent data corruptions ahead of execution, and by crosschecking state changes with co-executing replicas, even ASCs can be detected. Finally, fault tolerance is achieved by a fine-grained recovery using fault-free replicas. Our implementation is transparent to the application by utilizing fine-grained software-hardening mechanisms using aspect-oriented programming. To validate Crosscheck we present a replicated multithreaded key-value store that is resilient to state corruptions. Arthur Martens, Christoph Borchert, Tobias Oliver Geissler, Daniel Lohmann, Olaf Spinczyk, Rüdiger Kapitza |
DSN | 2 |
| 2014 | Effectiveness of Fault Detection Mechanisms in Static and Dynamic Operating System DesignsabstractDevelopers of embedded (real-time) systems can choose from a variety of operating systems. While some embedded operating systems provide very flexible APIs, e.g., a POSIX-compliant interface for run-time management, others have a completely static structure, which is generated at compile time by utilizing detailed application knowledge. A prominent example for the latter class from the domain of automotive operating systems is OSEK/OS and its successor AUTOSAR/OS. As we have shown in previous work, the design of the operating system has a strong impact on its vulnerability for system failure caused by hardware faults. This observation is gaining importance, because there is an ongoing trend towards low-power and low-cost, yet less reliable, hardware. This work quantifies the difference in vulnerability for soft errors in main memory of a flexible (dynamic) operating systems (eCos) and a static system (CiAO), which has an OSEK-compliant structure. We also analyze the additional degree of robustness that is achieved by hardening an operating system with software-based and hardware-based fault-tolerance measures and the corresponding costs. Covering this design space gives developers a better chance for good design decisions with respect to the trade-off between fault tolerance, resource consumption, and interface convenience. Our results indicate that with a combination of hardware- and software-based fault-tolerance measures, silent data corruptions in both operating systems can be reduced to below one percent (compared to eCos). However, the analyzed fault-tolerance mechanisms are expensive for the dynamic system, whereas the statically designed operating system can be hardened at much lower price. Martin Hoffmann 0001, Christoph Borchert, Christian Dietrich 0001, Horst Schirmeier, Rüdiger Kapitza, Olaf Spinczyk, Daniel Lohmann |
ISORC | 2 |
| 2014 | Rapid Fault-Space Exploration by Evolutionary Pruning
Horst Schirmeier, Christoph Borchert, Olaf Spinczyk |
SAFECOMP | 2 |
| 2013 | Generative software-based memory error detection and correction for operating system data structuresabstractRecent studies indicate that the number of system failures caused by main memory errors is much higher than expected. In contrast to the commonly used hardware-based countermeasures, for example using ECC memory, software-based fault-tolerance measures are much more flexible and can exploit application knowledge, such as the criticality of specific data structures. This paper presents a software-based memory error protection approach, which we used to harden the eCos operating system in a case study. The main benefits of our approach are the flexibility to choose from an extensible toolbox of easily pluggable error detection and correction schemes as well as its very low runtime overhead, which totals in a range of 0.09-1.7 %. The implementation is based on aspect-oriented programming and exploits the object-oriented program structure of eCos to identify well-suited code locations for the insertion of generative fault-tolerance measures. Christoph Borchert, Horst Schirmeier, Olaf Spinczyk |
DSN | 1 |
| 2012 | CiAO/IP: a highly configurable aspect-oriented IP stackabstractInternet protocols are constantly gaining relevance for the domain of mobile and embedded systems. However, building complex network protocol stacks for small resource-constrained devices is more than just porting a reference implementation. Due to the cost pressure in this area especially the memory footprint has to be minimized. Therefore, embedded TCP/IP implementations tend to be statically configurable with respect to the concrete application scenario. This paper describes our software engineering approach for building CiAO/IP - a tailorable TCP/IP stack for small embedded systems, which pushes the limits of static configurability while retaining source code maintainability. Our evaluation results show that CiAO/IP thereby outperforms both lwIP and uIP in terms of code size (up to 90% less than uIP), throughput (up to 20% higher than lwIP), energy consumption (at least 40% lower than uIP) and, most importantly, tailorability. Christoph Borchert, Daniel Lohmann, Olaf Spinczyk |
MobiSys | 1 |