Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [dsdp-tm-dev] FindBugs

Thanks Rado.

> project's Properties page. There is support for filter files 
> which can be used for excluding false positives. However, 
> maintaining these filter files will require additional efforts
> from the committers. I 

Sigh. I'd really love to see them use Java Comment Annotations
right in the code, instead of filter files. Plus an Eclipse
Quickfix (Ctrl+1) for "Filter false positive".

Are you in contact with the FindBugs developers such that you
could suggest such enhancements?

Cheers,
--
Martin Oberhuber, Senior Member of Technical Staff, Wind River
Target Management Project Lead, DSDP PMC Member
http://www.eclipse.org/dsdp/tm
 
 

> -----Original Message-----
> From: dsdp-tm-dev-bounces@xxxxxxxxxxx 
> [mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of 
> Radoslav Gerganov
> Sent: Mittwoch, 30. April 2008 20:10
> To: Target Management developer discussions
> Subject: Re: [dsdp-tm-dev] FindBugs
> 
> Hi Martin,
> 
> Installing FindBugs in Eclipse is pretty straightforward - you can 
> install it either from the update site [1] using the Update 
> Manager or 
> download the plug-in from the project downloads page. When 
> installed you 
> can scan the existing projects in the workspace by right-click on the 
> project and selecting FindBugs from the context menu. When 
> the scan is 
> complete, the found problems can be browsed using the 
> FindBugs perspective.
> You can also specify FindBugs options for each project from the 
> project's Properties page. There is support for filter files 
> which can 
> be used for excluding false positives. However, maintaining 
> these filter 
> files will require additional efforts from the committers. I 
> guess for 
> now we can run the tool once and fix what we believe are real 
> bugs. For 
> the long term we should decide whether or not to include 
> FindBugs in our 
> daily work on TM.
> 
> Cheers,
> Rado
> 
> [1] http://findbugs.cs.umd.edu/eclipse
> 
> Oberhuber, Martin wrote:
> > Thanks for the pointer, Rado.
> >
> > I can only agree. We are using FIndBugs successfully
> > On all our commercial plugins. For RSE, I have always
> > Wanted to introduce it, but wanted to reduce the number
> > Of normal Eclipse Javac warnings before doing so.
> >
> > But now seems the right time. APIs are frozen, so we
> > Need to focus on the implementations and get our code
> > Bug free.
> >
> > There is only one caveat though: Some of the FindBugs
> > Warnings are false positives. And if somebody has
> > Analyzed an issue and found that it was not an issue
> > After all, there must be some common way of excluding
> > That issue from the warnings in the future, to ensure
> > That not the next developer invests time in checking
> > The same issue again.
> >
> > At Wind River, we have some proprietery means to have
> > Markup in the code that supports filtering out 
> > FindBugs warnings. Rado do you see any such feature
> > In the Open Source FindBugs tool?
> >
> > Whoever has a few cycles should download Findbugs
> > And check their code. Finding the bugs early with
> > The tool saves LOTS of time compared to having 
> > A user report it, look at bugzilla, reproduce it
> > Etc... I fully recommend that we all go for it.
> > Installing the plugin is super simple, just
> > Drop it into your dropins folder.
> >
> > Rado can you give more instructions how to set up
> > A project for running findbugs and how to activate
> > It?
> >
> > http://findbugs.sourceforge.net/
> >
> > Thanks,
> > --
> > Martin Oberhuber, Senior Member of Technical Staff, Wind River
> > Target Management Project Lead, DSDP PMC Member
> > http://www.eclipse.org/dsdp/tm
> >  
> >  
> >
> >   
> >> -----Original Message-----
> >> From: dsdp-tm-dev-bounces@xxxxxxxxxxx 
> >> [mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of 
> >> Radoslav Gerganov
> >> Sent: Donnerstag, 24. April 2008 17:00
> >> To: Target Management developer discussions
> >> Subject: [dsdp-tm-dev] FindBugs
> >>
> >> Hi folks,
> >>
> >> I would like to draw your attention to a very useful tool for 
> >> finding bugs in Java programs called
> >> FindBugs[1]. It performs static analysis over Java byte code 
> >> and search for bugs. There is also an
> >> Eclipse plug-in which provides integration with the Eclipse 
> >> platform and can be used for finding
> >> bugs in Eclipse projects. You can take a look at [1] for more 
> >> details about the tool.
> >>
> >> So I gave it a try over some of the TM plug-ins and I got 
> >> some interesting results. Here is a very
> >> small excerpt of the results for org.eclipse.rse.core and 
> >> org.eclipse.rse.ui:
> >>
> >> org.eclipse.rse.core
> >> -----
> >> H B ES: Comparison of String parameter using == or != in
> >> org.eclipse.rse.internal.core.model.SystemRegistry.updateHost(
> >> IHost, IRSESystemType, String, String,
> >> String, String, int)
> >>
> >> H B ES: Comparison of String parameter using == or != in
> >> org.eclipse.rse.internal.core.filters.SystemFilterPool.setOwni
> >> ngParentName(String)
> >>
> >> H B ES: Comparison of String parameter using == or != in
> >> org.eclipse.rse.core.subsystems.RemoteServerLauncher.setServer
> >> Script(String)
> >>
> >> M C NP: Possible null pointer dereference of 
> >> SystemFilterPoolManager.name in
> >> org.eclipse.rse.internal.core.filters.SystemFilterPoolManager.
> >> setName(String)
> >>
> >>
> >> org.eclipse.rse.ui
> >> -----
> >> H C EC: Call to equals() comparing unrelated class and interface in
> >> org.eclipse.rse.internal.ui.view.SystemViewFilterStringAdapter
> >> .doDelete(Shell, Object, IProgressMonitor)
> >>
> >> H B HE: 
> >> org.eclipse.rse.internal.ui.view.team.SystemTeamViewSubSystemC
> >> onfigurationNode defines
> >> equals and uses Object.hashCode()
> >>
> >> M D BC: instanceof will always return true in
> >> org.eclipse.rse.core.subsystems.SubSystemConfiguration.createS
> >> erverLauncher(IConnectorService),
> >> since all 
> >> org.eclipse.rse.core.subsystems.RemoteServerLauncher are 
> instances of
> >> org.eclipse.rse.core.model.ILabeledObject
> >>
> >> M D BC: instanceof will always return true in
> >> org.eclipse.rse.internal.ui.view.SystemView.getSelection(Contr
> >> ol), since all
> >> org.eclipse.swt.widgets.TreeItem are instances of 
> >> org.eclipse.swt.widgets.TreeItem
> >>
> >> M B Eq: org.eclipse.rse.ui.open.SystemQuickOpenPageDescriptor 
> >> defines compareTo(Object) and uses
> >> Object.equals()
> >>
> >> While some of the problems can be classified as "warnings" or 
> >> "bad practice" there are also such
> >> that are real bugs. I think it will be useful for everyone to 
> >> check his stuff with this tool.
> >>
> >> [1] http://findbugs.sourceforge.net/
> >>
> >> Cheers,
> >> Rado
> >> _______________________________________________
> >> dsdp-tm-dev mailing list
> >> dsdp-tm-dev@xxxxxxxxxxx
> >> https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev
> >>
> >>     
> > _______________________________________________
> > dsdp-tm-dev mailing list
> > dsdp-tm-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev
> >
> >
> >   
> 
> _______________________________________________
> dsdp-tm-dev mailing list
> dsdp-tm-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev
> 


Back to the top