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.

Matthew J. Renzelmann

dblp:00/5158 · DBLP profile ↗
← Back
5ranked-venue papers
2as first author
0since 2021 · last 2013
—ORCID · none

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

Software engineering, systems software and programming languages · 4 · 1 first-authorSystems, architecture and hardware · 3 · 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.

Software engineering, system software, and programming languages
5 papers
Operating systems · 77% Software testing · 17% Programming languages and type systems · 3%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Hardware reliability and fault tolerance · 100%

Topics — the 5 heaviest of 9, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Operating systems › i/o › i/o subsystem
device drivers
0.552013
Fine-grained fault tolerance using device checkpoints · ASPLOS 2013
Decaf: Moving Device Drivers to a Modern Language · USENIX ATC 2009
Tolerating hardware device failures in software · SOSP 2009
Operating systems › i/o › i/o subsystem › device drivers
driver isolation
0.112009
Decaf: Moving Device Drivers to a Modern Language · USENIX ATC 2009
Operating systems › i/o › i/o subsystem › device drivers
linux device drivers
0.112008
The design and implementation of microdrivers · ASPLOS 2008
Hardware reliability and fault tolerance
error recovery
0.012013
Fine-grained fault tolerance using device checkpoints · ASPLOS 2013
Debugging and program repair
automated program repair
0.012009
Tolerating hardware device failures in software · SOSP 2009

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

device checkpoints · 0.3static analysis · 0.2kernel/user-mode split · 0.2symbolic execution · 0.1device emulation · 0.1shadow drivers · 0.1shadow driver · 0.1language-based driver development · 0.1
YearPublicationVenuePosition
2013 Fine-grained fault tolerance using device checkpoints
abstract
Recovering faults in drivers is difficult compared to other code because their state is spread across both memory and a device. Existing driver fault-tolerance mechanisms either restart the driver and discard its state, which can break applications, or require an extensive logging mechanism to replay requests and recreate driver state. Even logging may be insufficient, though, if the semantics of requests are ambiguous. In addition, these systems either require large subsystems that must be kept up-to-date as the kernel changes, or require substantial rewriting of drivers.
Asim Kadav, Matthew J. Renzelmann, Michael M. Swift
ASPLOS2
2012 SymDrive: Testing Drivers without Devices
Matthew J. Renzelmann, Asim Kadav, Michael M. Swift
OSDI1
2009 Tolerating hardware device failures in software
abstract
Hardware devices can fail, but many drivers assume they do not. When confronted with real devices that misbehave, these assumptions can lead to driver or system failures. While major operating system and device vendors recommend that drivers detect and recover from hardware failures, we find that there are many drivers that will crash or hang when a device fails. Such bugs cannot easily be detected by regular stress testing because the failures are induced by the device and not the software load. This paper describes Carburizer, a code-manipulation tool and associated runtime that improves system reliability in the presence of faulty devices. Carburizer analyzes driver source code to find locations where the driver incorrectly trusts the hardware to behave. Carburizer identified almost 1000 such bugs in Linux drivers with a false positive rate of less than 8 percent. With the aid of shadow drivers for recovery, Carburizer can automatically repair 840 of these bugs with no programmer involvement. To facilitate proactive management of device failures, Carburizer can also locate existing driver code that detects device failures and inserts missing failure-reporting code. Finally, the Carburizer runtime can detect and tolerate interrupt-related bugs, such as stuck or missing interrupts.
Asim Kadav, Matthew J. Renzelmann, Michael M. Swift
SOSP2
2009 Decaf: Moving Device Drivers to a Modern Language
Matthew J. Renzelmann, Michael M. Swift
USENIX ATC1
2008 The design and implementation of microdrivers
abstract
Device drivers commonly execute in the kernel to achieve high performance and easy access to kernel services. However, this comes at the price of decreased reliability and increased programming difficulty. Driver programmers are unable to use user-mode development tools and must instead use cumbersome kernel tools. Faults in kernel drivers can cause the entire operating system to crash. User-mode drivers have long been seen as a solution to this problem, but suffer from either poor performance or new interfaces that require a rewrite of existing drivers.
Vinod Ganapathy, Matthew J. Renzelmann, Arini Balakrishnan, Michael M. Swift, Somesh Jha
ASPLOS2