🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.lang.c
Article #46

Re: [Pub] Outil d'analyse de code C

#46
From: Jean-Marc Desperrier
Date: Thu, 27 Nov 2008 12:58
46 lines
3168 bytes
Marc Boyer wrote:
> [...]
> un peu de pub. Je sors d'une pr�sentation de l'outil
> coccinelle. C'est un truc qui fait de la d�tection
> de patern suspect dans un code (un kmalloc sans
> le kfree associ� par exemple).
>
> Pour ceux que les avanc�es sur l'analyse de code C
> int�ressent.
>
>     http://www.emn.fr/x-info/coccinelle/

Hum, franchement aujourd'hui, je pense que ce type d'outils a peu de 
perspectives d'avenir, quand on voit les perspectives qu'ouvrent 
Dehydra, Treehydra (diagnostique), et Oink/Pork (r��criture) dans le 
domaine.

https://developer.mozilla.org/en/Dehydra
https://developer.mozilla.org/en/Treehydra
https://developer.mozilla.org/en/Pork
http://www.cubewano.org/oink

Un "super diff/patch" n'a plus trop d'avenir quand il existe par 
ailleurs des outils qui s'appuient sur gcc (un parseur C/C++ ind�pendant 
pour Oink/Pork) pour travailler avec la structure interpr�t�e *exacte* 
du code.

Il y a quelques exemples d'utilisation ici:
http://hg.mozilla.org/mozilla-central/file/fdd5e4e34241/xpcom/analysis/

L'un des gros trucs qui est fait actuellement avec ces outils dans le 
code Mozilla est de s'assurer qu'une fonction soit retourne un code 
d'erreur OK et fixe la valeur de tous les arguments, ou bien renvoie un 
code d'erreur et ne touche � aucun argument en sortie.

Voir � ce sujet la description de la technique ESP pour analyser le flux 
d'une fonction en temps polynomial:
http://www.cs.cornell.edu/courses/cs711/2005fa/papers/dls-pldi02.pdf
https://developer.mozilla.org/Treehydra_Manual#section_8

Je pense que ces outils ne peuvent que prendre beaucoup d'importance, 
car le fait qu'ils donnent des r�sultats exacts (au besoin, en 
s'appuyant sur des techniques de r�cursivit�) change compl�tement la 
perspective.

Suivi redirig� vers fr.comp.developpement
Technical Details
Message-ID: <ggm534$c92$1@writer.imaginet.fr>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!proxad.net!feeder1-2.proxad.net!nerim.net!news.tiscali.fr!fr.colt.net!writer!not-for-mail
References: <slrngilbf9.m4q.Marc.Boyer@gavarnie.cert.fr>

Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,54276fe5f1a82be6
X-Google-Thread: fdcad,cf579d5bec163b04,start
X-Google-Thread: 102e15,cf579d5bec163b04,start
X-Google-Attributes: gidf9822,gidfdcad,gid102e15,domainid0,public,usenet
X-Google-Language: FRENCH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!proxad.net!feeder1-2.proxad.net!nerim.net!news.tiscali.fr!fr.colt.net!writer!not-for-mail
From: Jean-Marc Desperrier <jmdesp@alussinan.org>
Newsgroups: fr.comp.lang.c,fr.comp.lang.c++,fr.comp.developpement
Subject: Re: [Pub] Outil d'analyse de code C
Followup-To: fr.comp.developpement
Date: Thu, 27 Nov 2008 13:58:36 +0100
Organization: ImagiNET / Colt Internet
Lines: 46
Message-ID: <ggm534$c92$1@writer.imaginet.fr>
References: <slrngilbf9.m4q.Marc.Boyer@gavarnie.cert.fr>
NNTP-Posting-Host: host.104.92.68.195.rev.coltfrance.com
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: writer.imaginet.fr 1227790244 12578 195.68.92.104 (27 Nov 2008 12:50:44 GMT)
X-Complaints-To: abuse@imaginet.fr
NNTP-Posting-Date: 27 Nov 2008 12:50:44 GMT
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b2pre) Gecko/20081121 SeaMonkey/2.0a2pre
In-Reply-To: <slrngilbf9.m4q.Marc.Boyer@gavarnie.cert.fr>