commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephan Herrmann <>
Subject [bcel] perspective?
Date Sun, 04 Oct 2015 16:56:28 GMT

The Object Teams project[1] has been successfully using BCEL for around
13 years now. As Java 8 becomes widely used, we obviously can no longer
use BCEL 5.2. For a while it seemed as if BCEL was dead, but I was happy
to see more activity as of late. This now puts as on a crossroad between
two options:
(1) migrate to BCEL 6.0
(2) rewrite our 10 kLOC bytecode transformers using another library

I would like to avoid the immense effort involved with (2), but I'm not
quite sure if (1) is a viable and sustainable option.

First, as an Eclipse project we cannot ship a private version of BCEL.
We have to go through the Eclipse IP process in order to put BCEL into
"Orbit"[2]. This in general requires a release of the upstream project.
(BCEL 5.2 is in Orbit since 2007).

Hence, my primary question: can we realistically expect a release of
BCEL 6.0 any time soon?

Secondly, what happens when future versions of Java introduce new
bytecodes? Currently it seems like Java 9 will only introduce one new
access flag and a new attribute, but of course future additions can
never be ruled out. Is there any commitment in the BCEL team to
support future bytecodes? I would be happy to help by way of bug
reports, possibly patches, but obviously some committer(s) would need
to drive this process. Is this something I could expect?

Lastly, already in version 5.2 we had to patch two files, because two
mutable static fields in BCEL prohibit the use in a multi threaded
application [3]. Note, that I'm not asking to make BCEL thread safe,
just to make client-side synchronization possible (without forcing
"stop-the-world-we-want-to-call-into-bcel"). As we have a modified
version of the two affected classes in use for several years, I wonder
if the proposed change could get some support?

In all those years we were quite happy with BCEL. Unfortunately, we
have to make a hard decision pretty soon. From what I saw on this list,
I'm not sure, if staying with BCEL is viable.

Can anyone comment?


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message