TY - UNPB
T1 - WYSIWIB: A Declarative Approach to Finding Protocols and Bugs in Linux Code
AU - Lawall, Julia Laetitia
AU - Brunel, Julien Pierre Manuel
AU - Hansen, Rene Rydhof
AU - Stuart, Henrik
AU - Muller, Gilles
PY - 2008
Y1 - 2008
N2 - Although a number of approaches to finding bugs in systems code have been proposed, bugs still remain to be found. Current approaches have emphasized scalability more than usability, and as a result it is difficult to relate the results to particular patterns found in the source code and to control the tools to be able to find specific kinds of bugs. In this paper, we propose a declarative approach based on a control-flow based program search engine. Our approach is WYSIWIB (What You See Is Where It Bugs), since the programmer is able to express specifications for protocol and bug finding using a syntax that is close to that of ordinary C code. Search specifications, called semantic matches, can be easily tailored so as to either eliminate false positives or catch more potential bugs. We introduce our approach by describing three case studies which have allowed us to find 395 bugs.
AB - Although a number of approaches to finding bugs in systems code have been proposed, bugs still remain to be found. Current approaches have emphasized scalability more than usability, and as a result it is difficult to relate the results to particular patterns found in the source code and to control the tools to be able to find specific kinds of bugs. In this paper, we propose a declarative approach based on a control-flow based program search engine. Our approach is WYSIWIB (What You See Is Where It Bugs), since the programmer is able to express specifications for protocol and bug finding using a syntax that is close to that of ordinary C code. Search specifications, called semantic matches, can be easily tailored so as to either eliminate false positives or catch more potential bugs. We introduce our approach by describing three case studies which have allowed us to find 395 bugs.
M3 - Working paper
SP - 1
EP - 14
BT - WYSIWIB: A Declarative Approach to Finding Protocols and Bugs in Linux Code
CY - Nantes
ER -