On Wed, May 27, 2015 at 02:41:30AM -0400, Prasanna Kalever wrote: > > Niels de Vos, I wish to get access to you setup :) Of course you may! I've just send you an email off-list with the login details and some steps to get started. Please keep this list informed with status updates when you have something to share. Thanks, Niels > We know that Clang is compiler more than analyzer, it support many Architectures. > you can have a glance at http://llvm.org/docs/doxygen/html/Triple_8h_source.html > > Further Compiling clang from source should not be that difficult in many of the distros. > > Since our purpose is to use Clang-Analyzer only in development of glusterfs, that means > only the distributions that developers use i.e. Fedora, CentOs, RHEL, Ubuntu and very few others. > > From above, I hope integrating Scan-build in script like checkpatch.pl or any other will be > a good Idea as Athin proposed. > > > Thanks & Regards, > Prasanna Kumar K > > > > ----- Original Message ----- > From: "Atin Mukherjee" <amukherj@xxxxxxxxxx> > To: "Niels de Vos" <ndevos@xxxxxxxxxx>, "Atin Mukherjee" <atin.mukherjee83@xxxxxxxxx> > Cc: "Gluster Devel" <gluster-devel@xxxxxxxxxxx> > Sent: Wednesday, May 27, 2015 9:58:00 AM > Subject: Re: Proposal: Using LLVM clang-analyzer in gluster development > > > > On 05/27/2015 12:24 AM, Niels de Vos wrote: > > On Tue, May 26, 2015 at 11:00:25PM +0530, Atin Mukherjee wrote: > >> On 26 May 2015 17:30, "Prasanna Kalever" <pkalever@xxxxxxxxxx> wrote: > >>> > >>> Hi gluster team, > >>> > >>> Proposal: > >>> > >>> Using Clang static analyzer tool for gluster project > >>> > >>> > >>> About Clang: > >>> > >>> From a very high level view, Clang has two features > >>> > >>> 1. Clang as a compiler > >>> 2. Clang as a code analyzer > >>> > >>> The Idea hear is to use second point i.e Clang as code analyzer and still > >> gcc > >>> will be our default compiler. > >>> > >>> The Clang Static Analyzer is a source code analysis tool that finds bugs > >> in C, > >>> C++, and Objective-C programs. Given the exact same code base, > >> clang-analyzer > >>> reported ~70 potential issues. clang is an awesome and free tool. > >>> > >>> The reports from clang-analyzer are in HTML and there's a single file for > >> each > >>> issue and it generates a nice looking source code with embedded comments > >> about > >>> which flow that was followed all the way down to the problem. > >>> > >>> > >>> Why Clang-Analyzer: (Advantages) > >>> > >>> 1. Since its is an open source tool: > >>> > >>> * Available to all the developers > >>> * Easy Access, we can run the tool while we compile the code (say $ > >> scan-build make) > >>> * No restrictions on Number of Runs per week/day/hour/min .. > >>> * Defects are Identified before submitting a patch, thus very less > >> chance of > >>> defect injection into project > >>> > >>> 2. The Html view of clang is very impressive with all the source code > >> including > >>> comments of clang-analyzer, which lead to defect line number directly > >> . > >>> > >>> > >>> > >>> I have attached a sample clang results for geo-replication module run on > >> latest > >>> 3.7+ glusterfs code, please find them above. > >>> > >>> > >>> Thanks for your time. > >> On a relative note, I feel we should try to integrate any of these static > >> analyzer as part of our checkpatch.pl and compare the pre and post report > >> and proceed if the change doesn't introduce any new defects. Thoughts? > > > > That sounds more like a test we can run in Jenkins. Having this check in > > checkpatch.pl might be difficult because that should be able to run on > > any OS/distribution we support. When we move the test to Jenkins, we can > > run it on the regression test slaves and have them post -1 verified in > > case of issues. > Sounds good to me, be it at local or jenkins, my only intention is to > refrain introducing defects for a new patch. > > > > Are there tools to do the pre/post result comparing? I have recently > > setup a test environment for Jenkins jobs and am happy to give you (or > > any one else) access to it for testing (sorry, my setup is on the Red > > Hat internal network only). > We need to explore on that part, I am hoping that we should have such > kind of tools available. However if not at worst case can't we compare > them through our own scripts? > > > > Niels > > _______________________________________________ > > Gluster-devel mailing list > > Gluster-devel@xxxxxxxxxxx > > http://www.gluster.org/mailman/listinfo/gluster-devel > > > > -- > ~Atin > _______________________________________________ > Gluster-devel mailing list > Gluster-devel@xxxxxxxxxxx > http://www.gluster.org/mailman/listinfo/gluster-devel _______________________________________________ Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx http://www.gluster.org/mailman/listinfo/gluster-devel