Applications do not typically view the kernel as a source of bad input. However, the kernel can behave in unusual (yet permissible) ways for which applications are badly unprepared. We present Murphy, a language-agnostic tool that helps developers discover and isolate run-time failures in their programs by simulating difficult-to-reproduce but completely-legitimate interactions between the application and the kernel. Murphy makes it easy to enable or disable sets of kernel interactions, called gremlins, so developers can focus on the failure scenarios that are important to them. Gremlins are implemented using the ptrace interface, intercepting and potentially modifying an application's system call invocation while requiring no invasi...
This paper presents EXE, an effective bug-finding tool that automatically generates inputs that cras...
Computing systems and the various services and applications they enable have become pervasive in our...
Which is the defect that causes a software failure? By comparing the program states of a failing and...
Applications do not typically view the kernel as a source of bad input. However, the kernel can beha...
Applications do not typically view the kernel as a source of bad input. However, the kernel can beha...
Hardware errors are projected to increase in modern computer systems due to shrinking feature sizes ...
Modern computer software systems are prone to various classes of runtime faults due to their relianc...
Modern computer software systems are prone to various classes of runtime faults due to their relianc...
The high complexity of modern software, and our pervasive reliance on that software, has made the pr...
Bugs in programs are often introduced when programs evolve from a stable version to a new version. I...
Modern operating systems (OSs) consist of numerous interacting components, many of which are develop...
Abstract—Consider the execution of a failing program as a sequence of program states. Each state ind...
As hardware performance and dependability have dramatically improved in the past few decades, the so...
With the growing use of computers in almost every aspect of our lives, software failures have greate...
Software defects, commonly known as bugs, present a serious challenge for system reliability and dep...
This paper presents EXE, an effective bug-finding tool that automatically generates inputs that cras...
Computing systems and the various services and applications they enable have become pervasive in our...
Which is the defect that causes a software failure? By comparing the program states of a failing and...
Applications do not typically view the kernel as a source of bad input. However, the kernel can beha...
Applications do not typically view the kernel as a source of bad input. However, the kernel can beha...
Hardware errors are projected to increase in modern computer systems due to shrinking feature sizes ...
Modern computer software systems are prone to various classes of runtime faults due to their relianc...
Modern computer software systems are prone to various classes of runtime faults due to their relianc...
The high complexity of modern software, and our pervasive reliance on that software, has made the pr...
Bugs in programs are often introduced when programs evolve from a stable version to a new version. I...
Modern operating systems (OSs) consist of numerous interacting components, many of which are develop...
Abstract—Consider the execution of a failing program as a sequence of program states. Each state ind...
As hardware performance and dependability have dramatically improved in the past few decades, the so...
With the growing use of computers in almost every aspect of our lives, software failures have greate...
Software defects, commonly known as bugs, present a serious challenge for system reliability and dep...
This paper presents EXE, an effective bug-finding tool that automatically generates inputs that cras...
Computing systems and the various services and applications they enable have become pervasive in our...
Which is the defect that causes a software failure? By comparing the program states of a failing and...