Re: Thread Safety Checker
On 15.06.2009 23:01, Lothar Kimmeringer wrote:
Hoss Spence wrote:
Does anyone know if there is a Checkstyle like program that will warn
you about unsafe concurrency practices?
FindBugs (http://findbugs.sourceforge.net/) has a complete
section called "Multithreaded correctness". The description
of these tests start at
http://findbugs.sourceforge.net/bugDescriptions.html#DC_DOUBLECHECK
There is one thing I dislike about FindBugs: I haven't found an easy way
to flag a warning as invalid on a case by case basis (for example with a
comment in source code). We have something like
lock.lock();
try {
....
}
finally {
flag = false;
lock.unlock();
}
FindBugs complains that the lock is not released for all control flows
which is nonsense since the boolean assignment cannot throw.
Something that could be run in
CruiseControl for instance.
I don't know CruiseControl, but you can integrate FindBugs into
Ant and Maven and it's available as Eclipse-plugin, so you can
see the messages in the "problems"-view.
We have FindBugs integrated with https://hudson.dev.java.net/ so if
CruiseControl fails Hudson is an alternative.
Kind regards
robert
--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/