From owner-freebsd-hackers@FreeBSD.ORG Sun Apr 23 20:05:53 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2733B16A403 for ; Sun, 23 Apr 2006 20:05:53 +0000 (UTC) (envelope-from mygcc@free.fr) Received: from smtp4-g19.free.fr (smtp4-g19.free.fr [212.27.42.30]) by mx1.FreeBSD.org (Postfix) with ESMTP id 10AFC43D53 for ; Sun, 23 Apr 2006 20:05:52 +0000 (GMT) (envelope-from mygcc@free.fr) Received: from imp6-g19.free.fr (imp6-g19.free.fr [212.27.42.6]) by smtp4-g19.free.fr (Postfix) with ESMTP id 79D5F5486F; Sun, 23 Apr 2006 22:05:51 +0200 (CEST) Received: by imp6-g19.free.fr (Postfix, from userid 33) id 76FC85D97; Sun, 23 Apr 2006 22:04:35 +0200 (CEST) Received: from 229.91.72-86.rev.gaoland.net (229.91.72-86.rev.gaoland.net [86.72.91.229]) by imp6-g19.free.fr (IMP) with HTTP for ; Sun, 23 Apr 2006 22:04:35 +0200 Message-ID: <1145822675.444bddd364d7c@imp6-g19.free.fr> Date: Sun, 23 Apr 2006 22:04:35 +0200 From: mygcc@free.fr To: freebsd-hackers@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2.5 X-Originating-IP: 86.72.91.229 X-Mailman-Approved-At: Sun, 23 Apr 2006 20:08:58 +0000 Cc: mygcc@free.fr Subject: Re: automatic checking of source code X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Apr 2006 20:05:53 -0000 Divacky Roman wrote: > I just found http://mygcc.free.fr/ which is a project for automatic checking of > source code for bugs (memory leaks, unreleased locks, null pointer > dereferences). I recall there was some SoC project to achieve something > similar but this is complete and ready to run... > > it might be of some interest for someone Just a few comments on this. I see that freeBSD already uses Coverity's tool to eliminate different kinds of bugs, so it is useful to briefly compare these two tools. A first difference is that mygcc is a much simpler tool, which means: 1. simpler to use. Every programmer can express his own checks without learning any checking language. 2. less powerful. The bugs detectable with mygcc are clearly a subset of those detectable by Coverity, even if this is a quite significant subset, covering many common bugs. A second difference is that Coverity's tool is (to my knowledge) a standalone checking tool, which means that you would use it from time to time to perform detailed analysis of your code, find many bugs, fix them, and then continue to maintain your code without further support until the next big cleanup (if your license is still valid :)). As opposed to this model, mygcc (is freee and) aims at more modest checks, but performed continuosly, possible at *every* compilation. Thus, the two tools can be seen as complementary. If we had a list of the kinds of bugs that Coverity found, we could tell which of them can be checked continuously by mygcc and which not. Hope that helps, Nic (on behalf of mygcc)