Code-pointer integrity
In this chapter, we describe code-pointer integrity (CPI), a new design point that guarantees
the integrity of all code pointers in a program (eg, function pointers, saved return addresses) …
the integrity of all code pointers in a program (eg, function pointers, saved return addresses) …
All about eve:{Execute-Verify} replication for {Multi-Core} servers
This paper presents Eve, a new Execute-Verify architecture that allows state machine
replication to scale to multi-core servers. Eve departs from the traditional agree-execute …
replication to scale to multi-core servers. Eve departs from the traditional agree-execute …
Log20: Fully automated optimal placement of log printing statements under specified overhead threshold
When systems fail in production environments, log data is often the only information
available to programmers for postmortem debugging. Consequently, programmers' decision …
available to programmers for postmortem debugging. Consequently, programmers' decision …
Automated {Concurrency-Bug} Fixing
Concurrency bugs are widespread in multithreaded programs. Fixing them is time-
consuming and error-prone. We present CFix, a system that automates the repair of …
consuming and error-prone. We present CFix, a system that automates the repair of …
NVthreads: Practical persistence for multi-threaded applications
Non-volatile memory technologies, such as memristor and phase-change memory, will allow
programs to persist data with regular memory instructions. Liberated from the overhead to …
programs to persist data with regular memory instructions. Liberated from the overhead to …
Apus: Fast and scalable paxos on rdma
State machine replication (SMR) uses Paxos to enforce the same inputs for a program (eg,
Redis) replicated on a number of hosts, tolerating various types of failures. Unfortunately …
Redis) replicated on a number of hosts, tolerating various types of failures. Unfortunately …
A scalable architecture for ordered parallelism
We present Swarm, a novel architecture that exploits ordered irregular parallelism, which is
abundant but hard to mine with current software and hardware techniques. In this …
abundant but hard to mine with current software and hardware techniques. In this …
Engineering record and replay for deployability
R O'Callahan, C Jones, N Froyd, K Huey… - 2017 USENIX Annual …, 2017 - usenix.org
The ability to record and replay program executions with low overhead enables many
applications, such as reverse-execution debugging, debugging of hard-to reproduce test …
applications, such as reverse-execution debugging, debugging of hard-to reproduce test …
Eidetic systems
The vast majority of state produced by a typical computer is generated, consumed, then lost
forever. We argue that a computer system should instead provide the ability to recall any …
forever. We argue that a computer system should instead provide the ability to recall any …
Varan the unbelievable: An efficient n-version execution framework
With the widespread availability of multi-core processors, running multiple diversified
variants or several different versions of an application in parallel is becoming a viable …
variants or several different versions of an application in parallel is becoming a viable …