[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [FB-Discuss] [asm] Re: [aspectj-dev] bcel


It is probably not too late to submit a project to Google summer code camp, so you may get some resources for that...


Bill Pugh wrote:
We discussed porting FindBugs from BCEL to ASM.
Given infinite resources, we would clearly do so.
But clearly, we don't have infinite resources.

There is a lot of stuff that depends on BCEL in FindBugs,
and we would have to rewrite a substantial portion of FindBugs.

Hopefully, in the not too distant future, we might manage to make findbugs
BCEL/ASM neutral, so that new detectors could be written using ASM.


On Apr 30, 2006, at 3:56 AM, Andrei Loskutov wrote:

On Sat, 29 Apr 2006 07:26:14 +0200, Eugene Kuleshov <eu@xxxxxxxx> wrote:

Torsten Curdt wrote:
While I do think that BCEL has miserably failed from the
community perspective it is still being used in so many projects
that we should not just let the users down. The costs of switching
from BCEL to ASM might be just too high.
That actually could be a good summer project...

What is about FindBugs as a first/best candidate to the such port? It is based on BCEL and therefore has poor memory footprint / performance.

E.g. build some
intermediate bridge that would use ASM underneath or some kind of source
code analyzer/transformer to help with straight migration from BCEL to
ASM tree API (maybe even as simple as Jackpot rules, or somehow reuse
Eclipse's binary refactorings). I've been looking on such conversion
process at some point and it seems there is big similarity between BCEL
and ASM.
From the API perspective the BCEL approach is surely a bit more
straight forward than ASM ...and easier to handle in some areas.
Also performance was never an issue for me yet.
We've been asking users how to make tree API easier to use in ASM. So,
what exactly are those areas that easier to handle with BCEL?

BTW, Eric just posted proposal for changes in tree API for ASM 3,
which should address several old issues, including random insertion into
the list of method instructions and improved performance of scanning
trough instructions to another 8%.
But starting a new project as a user I would probably go with ASM
as this community just rocks. They have a kick-ass eclipse plugin
and they support their user base very well.
  I guess we do. :-)   But we could use some feedback...