On Fri, Jan 25, 2013 at 12:51:13PM +0000, Richard W.M. Jones wrote: > On Fri, Jan 25, 2013 at 01:18:43PM +0100, Kamil Dudka wrote: > > On Friday, January 25, 2013 09:07:22 Richard W.M. Jones wrote: > > > On Thu, Jan 24, 2013 at 02:11:11PM -0700, Jerry James wrote: > > > > Note that we also have why and why3 in Fedora, by the way. > > > > > > .. and ocaml-cil. > > > > CIL can be used as a front-end for a static analysis tool or a C preprocessor > > for static analysis tools that have limited C language parsing capabilities, > > but how are you going to use CIL as a static analysis tool on its own? > > Well I did try. Not, it has to be said, very successfully: > > http://people.redhat.com/~rjones/cil-analysis-of-libvirt/ Based on your work I actually used CIL to validate the correctness of mutex locking in libvirt with pretty good success https://www.berrange.com/posts/2009/05/15/static-analysis-to-validate-mutex-locking-in-libvirt-using-ocaml-cil/ the analysis script has bit-rotted since i first wrote it, since libvirt locking policy has changed, but it should be possible to bring it up2date. It identified a good set of bugs, which I don't believe tools like coverity are able todo, because they lack the semantic knowledge about intended locking behaviour in this area. > This brings me back to an earlier post I made which I still think has > an important point to make: > > http://lists.fedoraproject.org/pipermail/devel/2012-December/175324.html Yep, if I ever have some free time, I have long planned to make use of CIL to validate the virError reporting item you mention there. It would clear out a large set of bugs that are basically impossible to validate any other way than by writing a custom static analysis script. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel