Enhanced operating system security through efficient and fine-grained address space randomization
C Giuffrida, A Kuijsten, AS Tanenbaum - 21st USENIX Security …, 2012 - usenix.org
In recent years, the deployment of many application-level countermeasures against memory
errors and the increasing number of vulnerabilities discovered in the kernel has fostered a …
errors and the increasing number of vulnerabilities discovered in the kernel has fostered a …
Automated atomicity-violation fixing
Fixing software bugs has always been an important and time-consuming process in software
development. Fixing concurrency bugs has become especially critical in the multicore era …
development. Fixing concurrency bugs has become especially critical in the multicore era …
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 …
R2Fix: Automatically generating bug fixes from bug reports
Many bugs, even those that are known and documented in bug reports, remain in mature
software for a long time due to the lack of the development resources to fix them. We …
software for a long time due to the lack of the development resources to fix them. We …
Failure sketching: A technique for automated root cause diagnosis of in-production failures
Developers spend a lot of time searching for the root causes of software failures. For this,
they traditionally try to reproduce those failures, but unfortunately many failures are so hard …
they traditionally try to reproduce those failures, but unfortunately many failures are so hard …
Parrot: A practical runtime for deterministic, stable, and reliable threads
Multithreaded programs are hard to get right. A key reason is that the contract between
developers and runtimes grants exponentially many schedules to the runtimes. We present …
developers and runtimes grants exponentially many schedules to the runtimes. We present …
Detecting and surviving data races using complementary schedules
Data races are a common source of errors in multithreaded programs. In this paper, we
show how to protect a program from data race errors at runtime by executing multiple …
show how to protect a program from data race errors at runtime by executing multiple …
Paxos made transparent
State machine replication (SMR) leverages distributed consensus protocols such as Paxos
to keep multiple replicas of a program consistent in face of replica failures or network …
to keep multiple replicas of a program consistent in face of replica failures or network …
Efficient deterministic multithreading through schedule relaxation
Deterministic multithreading (DMT) eliminates many pernicious software problems caused
by nondeterminism. It works by constraining a program to repeat the same thread …
by nondeterminism. It works by constraining a program to repeat the same thread …
Concurrency attacks
Just as errors in sequential programs can lead to security exploits, errors in concurrent
programs can lead to concurrency attacks. Questions such as whether these attacks are …
programs can lead to concurrency attacks. Questions such as whether these attacks are …