FindBugs Report

Project Information

FindBugs version: 2.0.2

Metrics

26034 lines of code analyzed, in 470 classes, in 39 packages.

Metric Total Density*
High Priority Warnings 1 0.04
Medium Priority Warnings 4 0.15
Total Warnings 5 0.19

(* Defects per Thousand lines of non-commenting source statements)



Contents

Summary

Warning Type Number
Correctness Warnings 1
Internationalization Warnings 1
Multithreaded correctness Warnings 2
Performance Warnings 1
Total 5

Warnings

Click on a warning row to see full context information.

Correctness Warnings

Code Warning
UwF Unwritten field: org.qedeq.kernel.bo.service.PluginCallImpl.result

Internationalization Warnings

Code Warning
Dm Found reliance on default encoding in com.sun.syndication.io.XmlReader.getXmlProlog(BufferedInputStream, String): new String(byte[], int, int)

Multithreaded correctness Warnings

Code Warning
VO Increment of volatile field org.qedeq.kernel.bo.service.DefaultInternalKernelServices.processCounter in org.qedeq.kernel.bo.service.DefaultInternalKernelServices.processDec()
VO Increment of volatile field org.qedeq.kernel.bo.service.DefaultInternalKernelServices.processCounter in org.qedeq.kernel.bo.service.DefaultInternalKernelServices.processInc()

Performance Warnings

Code Warning
WMI org.qedeq.kernel.bo.service.logic.ModuleConstantsExistenceCheckerImpl.init() makes inefficient use of keySet iterator instead of entrySet iterator

Details

DM_DEFAULT_ENCODING: Reliance on default encoding

Found a call to a method which will perform a byte to String (or String to byte) conversion, and will assume that the default platform encoding is suitable. This will cause the application behaviour to vary between platforms. Use an alternative API and specify a charset name or Charset object explicitly.

UWF_UNWRITTEN_FIELD: Unwritten field

This field is never written.  All reads of it will return the default value. Check for errors (should it have been initialized?), or remove it if it is useless.

VO_VOLATILE_INCREMENT: An increment to a volatile field isn't atomic

This code increments a volatile field. Increments of volatile fields aren't atomic. If more than one thread is incrementing the field at the same time, increments could be lost.

WMI_WRONG_MAP_ITERATOR: Inefficient use of keySet iterator instead of entrySet iterator

This method accesses the value of a Map entry, using a key that was retrieved from a keySet iterator. It is more efficient to use an iterator on the entrySet of the map, to avoid the Map.get(key) lookup.