Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code

Summary: Bugs as Deviant Behavior: A General Approach
to Inferring Errors in Systems Code
Dawson Engler, David Yu Chen, Seth Hallem, Andy Chou, and Benjamin Chelf
Computer Systems Laboratory
Stanford University
Stanford, CA 94305, U.S.A.
A major obstacle to finding program errors in a real sys-
tem is knowing what correctness rules the system must
obey. These rules are often undocumented or specified
in an ad hoc manner. This paper demonstrates tech-
niques that automatically extract such checking infor-
mation from the source code itself, rather than the pro-
grammer, thereby avoiding the need for a priori knowl-
edge of system rules.
The cornerstone of our approach is inferring pro-
grammer "beliefs" that we then cross-check for contra-
dictions. Beliefs are facts implied by code: a dereference
of a pointer, p, implies a belief that p is non-null, a call
to "tmlock(1)" implies that 1 was locked, etc. For be-


Source: Arpaci-Dusseau, Remzi - Department of Computer Sciences, Department of Computer Sciences, University of Wisconsin at Madison
Brown, Angela Demke - Department of Computer Science, University of Toronto
Cao, Qing "Charles" - Department of Electrical and Computer Engineering, University of Tennessee
Pratt, Vaughan - Department of Computer Science, Stanford University
Zhang, Xiangyu - Department of Computer Sciences, Purdue University


Collections: Computer Technologies and Information Sciences; Engineering