[infinispan-dev] FindBugs on infinispan
Radim Vansa
rvansa at redhat.com
Fri Mar 20 06:54:47 EDT 2015
Setting up analysis tool is rather easy, the hard part is to get people
look into the results and fix what's wrong. And if noone does it, even
setting it up is wasted time.
my 2c
Radim
On 03/20/2015 10:48 AM, Sebastian Łaskawiec wrote:
> Hey!
>
> I'm thinking about some other approach for static code analysis -
> SonarQube [1]. Apart from FindBugs it performs also PMD and visualizes
> test coverage (typically measured by Jacoco).
>
> Sonar analysis could be performed once day in separate TeamCity job.
> This way we would have an insight how the number of violations changed
> over the time.
>
> As the matter of fact I did the first step and installed Sonar on
> Openshift [2]. The installation was performed using this tutorial [3].
>
> All we need to do now is to create a TeamCity job and introduce Sonar
> plugin into the code. Would you like to help me with this?
>
> Thanks
> Sebastian
>
> [1] http://www.sonarqube.org/
> [2] http://sonar-infinispansonar.rhcloud.com/
> [3] https://forums.openshift.com/run-sonar-on-openshift
>
> czw., 19 mar 2015 o 17:16 użytkownik Jakub Markos <jmarkos at redhat.com
> <mailto:jmarkos at redhat.com>> napisał:
>
> Hi,
>
> out of curiosity, I ran FindBugs [1] (java static analysis tool)
> on infinispan. Attached are 2 output files (compressed, because
> the mailing list accepts only <0.5MB attachments):
> 1. for the release-jars-analysis.html, only the 3 main jars from
> 7.2.0.Alpha1 were analyzed
> 2. for the project-jars-analysis.html, I took all jars that were
> present in the infinispan project directory after a build (except
> the test jars) - this one has therefore more findings
>
> In both cases, FindBugs complained that it couldn't find some
> imported classes, so the analysis may not be 100% complete.
>
> I didn't look through the actual results much, but for example it
> detected an infinite loop at [2], or a self-assignment at [3].
>
> If you want to run it yourself, you can use [4]. There is also a
> GUI, but I wasn't able to save the results into a html, and a maven
> plugin [5], but it only creates the results in an xml format for
> each module separately, so it's not very useful.
>
> Jakub
>
> [1] http://findbugs.sourceforge.net/
> [2]
> https://github.com/infinispan/infinispan/blob/841c789a866745b8d48475f98acd51fa74b16f13/core/src/main/java/org/infinispan/context/impl/ImmutableContext.java#L95
> [3]
> https://github.com/infinispan/infinispan/blob/841c789a866745b8d48475f98acd51fa74b16f13/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/TcpTransportFactory.java#L90
> [4] bin/findbugs -maxHeap 4000 -effort:max -textui -progress
> -release infinispan -html -output infinispan-findbugs-analysis
> -onlyAnalyze org.infinispan.-
> infinispan-7.2.0.Alpha1-all/infinispan-embedded-7.2.0.Alpha1.jar
> infinispan-7.2.0.Alpha1-all/infinispan-embedded-query-7.2.0.Alpha1.jar
> infinispan-7.2.0.Alpha1-all/infinispan-remote-7.2.0.Alpha1.jar
> [5]
> http://mojo.codehaus.org/findbugs-maven-plugin/_______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org <mailto:infinispan-dev at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>
>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Radim Vansa <rvansa at redhat.com>
JBoss Performance Team
More information about the infinispan-dev
mailing list