<div dir="ltr">Allon,<div><br></div><div>Sonar is similar to findbugs but it gives you code duplication, complexity, coverage and help you understand how metrics change over the time.</div><div>There is a bit &quot;noise&quot; with default configuration but it can be nicely tuned: <a href="http://www.sonarqube.org/screencasts/configuring-coding-rules/">http://www.sonarqube.org/screencasts/configuring-coding-rules/</a></div>
<div>you can run it together with your Jenkins build by using: <a href="https://wiki.jenkins-ci.org/display/JENKINS/Sonar+plugin">https://wiki.jenkins-ci.org/display/JENKINS/Sonar+plugin</a></div><div><br></div><div>I used it in the past with Java code and I can say it gives good understanding of the code quality. I can help to set it up for one or more projects if there is a will to experiment. </div>
<div><br></div><div>Thanks,</div><div>Piotr</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Sep 29, 2013 at 6:23 PM, Allon Mureinik <span dir="ltr">&lt;<a href="mailto:amureini@redhat.com" target="_blank">amureini@redhat.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:times new roman,new york,times,serif"><div>Hi Piotr,</div><div><br></div><div>
Currently, we employ several static analysis tools in the various oVirt projects.</div><div><br></div><div>In oVirt-Engine:</div><div>1. We use checkstyle at build time with several standard checks, and a couple implemented by project members</div>
<div>2. FindBugs is run by a Jenkins job: <a href="http://jenkins.ovirt.org/view/All/job/ovirt_engine_find_bugs/" target="_blank">http://jenkins.ovirt.org/view/All/job/ovirt_engine_find_bugs/</a></div><div>3. Animal Sniffer is used to ensure we don&#39;t break JDK6 compatibility on GWT-compiled modules (should probably be removed since the last GWT upgrade, BTW), also as a Jenkins job: <a href="http://jenkins.ovirt.org/job/ovirt_engine_animal_sniffer_check/" target="_blank">http://jenkins.ovirt.org/job/ovirt_engine_animal_sniffer_check/</a></div>
<div>4. pylint is used to check the python parts: <a href="http://jenkins.ovirt.org/view/ovirt_engine/job/ovirt_engine_pylint_gerrit/" target="_blank">http://jenkins.ovirt.org/view/ovirt_engine/job/ovirt_engine_pylint_gerrit/</a></div>
<div><br></div><div>In VDSM, we use pep8 as part of the build.</div><div><br></div><div>Personally, I&#39;ve heard about Sonar Qube, but never used it.</div><div>Can you share some experience?</div><div>How much &quot;noise&quot; does it produce?</div>
<div><br></div><div>-Allon</div><div><br></div><hr><blockquote style="padding-left:5px;font-size:12pt;font-style:normal;margin-left:5px;font-family:Helvetica,Arial,sans-serif;text-decoration:none;font-weight:normal;border-left:2px solid #1010ff">
<b>From: </b>&quot;Piotr Kliczewski&quot; &lt;<a href="mailto:piotr.kliczewski@gmail.com" target="_blank">piotr.kliczewski@gmail.com</a>&gt;<br><b>To: </b><a href="mailto:infra@ovirt.org" target="_blank">infra@ovirt.org</a><br>
<b>Sent: </b>Sunday, September 29, 2013 7:00:58 PM<br><b>Subject: </b>Static analysis for oVirt<div><div class="h5"><br><div><br></div><div dir="ltr">All,<div><br></div><div>Is there static analysis tool used for oVirt code base? </div>
<div><br></div><div>There is interesting tool called Sonar: <a href="http://www.sonarqube.org/" target="_blank">http://www.sonarqube.org/</a>. It integrates with Jenkins and provides you neat dashboard that will let you understand code quality. This tool supports many languages including Java and Python.</div>

<div><br></div><div>Thanks,</div><div>Piotr Kliczewski</div></div>
<br></div></div>_______________________________________________<br>Infra mailing list<br><a href="mailto:Infra@ovirt.org" target="_blank">Infra@ovirt.org</a><br><a href="http://lists.ovirt.org/mailman/listinfo/infra" target="_blank">http://lists.ovirt.org/mailman/listinfo/infra</a><br>
</blockquote><div><br></div></div></div></blockquote></div><br></div>