submit
english version rss feed
HAL: hal-00294004, version 1

Detailed view  Export this paper
WYSIWIB: A Declarative Approach to Finding Protocols and Bugs in Linux Code
Julia Lawall 1, Julien Brunel 1, René R. Hansen 2, Henrik Stuart 1, Gilles Muller 3
For the Coccinelle collaboration(s)
(2008-07-04)

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.
1:  Department of computer Science [Copenhagen] (DIKU)
University of Copenhagen
2:  Aalborg University [Aalborg]
Aalborg University
3:  Département informatique - EMN
École Nationale Supérieure des Mines - Nantes
Computer Science/Operating Systems

Computer Science/Programming Languages
OS – Linux – Bug finding – Semantic Matches
Attached file list to this document: 
PDF
EMN08-1-INFO.pdf(291.1 KB)

all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...
all articles on CCSd database...