Author pages are created from data sourced from our academic publisher partnerships and public sources.
An empirical study of operating systems errors
We present a study of operating system errors found by automatic, static, compiler analysis applied to the Linux and OpenBSD kernels. Our approach differs from previous studies that consider errors… Expand
Bugs as deviant behavior: a general approach to inferring errors in systems code
A major obstacle to finding program errors in a real system is knowing what correctness rules the system must obey. These rules are often undocumented or specified in an ad hoc manner. This paper… Expand
A few billion lines of code later
How Coverity built a bug-finding tool, and a business, around the unlimited supply of bugs in software systems.
CMC: a pragmatic approach to model checking real code
Many system errors do not emerge unless some intricate sequence of events occurs. In practice, this means that most systems have errors that only trigger after days or weeks of execution. Model… Expand
Checking system rules using system-specific, programmer-written compiler extensions
Systems software such as OS kernels, embedded systems, and libraries must obey many rules for both correctness and performance. Common examples include "accesses to variable A must be guarded by lock… Expand
ARCHER: using symbolic, path-sensitive analysis to detect memory access errors
Memory corruption errors lead to non-deterministic, elusive crashes. This paper describes ARCHER (ARray CHeckER) a static, effective memory access checker. ARCHER uses path-sensitive, interprocedural… Expand
Bugs as Inconsistent Behavior: A General Approach to Inferring Errors in Systems Code.
Checking systemrules using system-specific
Interactive data Analysis: The Control Project
Data analysis is fundamentally an iterative process in which you issue a query, receive a response, formulate the next query based on the response, and repeat. You usually don't issue a single,… Expand